summaryrefslogtreecommitdiff
path: root/localrepo/dash-2.19.1.tar
blob: 8f0705beb9bd2565b992602da9ba0ae3951bb0af (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 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.........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 36 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...
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 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
0420 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
0440 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"
0460 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
0480 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
04a0 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
04c0 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
04e0 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")
0500 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"..
0520 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.
0540 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
0560 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"
0580 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 )...............................
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 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.............
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 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...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 3b 3b 3b 20 64 61 73 68 2e 65 6c 20 2d 2d 2d 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 ;;;.dash.el.---.A.modern.list.li
0820 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e brary.for.Emacs..-*-.lexical-bin
0840 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 ding:.t.-*-..;;.Copyright.(C).20
0860 31 32 2d 32 30 32 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
0880 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4d 61 67 6e 61 72 20 53 76 65 65 6e 20 ,.Inc...;;.Author:.Magnar.Sveen.
08a0 3c 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 <magnars@gmail.com>.;;.Version:.
08c0 32 2e 31 39 2e 31 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 2.19.1.;;.Package-Requires:.((em
08e0 61 63 73 20 22 32 34 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 65 78 74 65 6e 73 69 6f acs."24")).;;.Keywords:.extensio
0900 6e 73 2c 20 6c 69 73 70 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 ns,.lisp.;;.Homepage:.https://gi
0920 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 72 73 2f 64 61 73 68 2e 65 6c 0a 0a 3b 3b 20 54 68 69 thub.com/magnars/dash.el..;;.Thi
0940 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
0960 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
0980 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 y.;;.it.under.the.terms.of.the.G
09a0 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 NU.General.Public.License.as.pub
09c0 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 lished.by.;;.the.Free.Software.F
09e0 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 oundation,.either.version.3.of.t
0a00 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f he.License,.or.;;.(at.your.optio
0a20 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 n).any.later.version...;;.This.p
0a40 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 rogram.is.distributed.in.the.hop
0a60 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 e.that.it.will.be.useful,.;;.but
0a80 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 .WITHOUT.ANY.WARRANTY;.without.e
0aa0 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d ven.the.implied.warranty.of.;;.M
0ac0 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 ERCHANTABILITY.or.FITNESS.FOR.A.
0ae0 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 PARTICULAR.PURPOSE...See.the.;;.
0b00 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d GNU.General.Public.License.for.m
0b20 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 ore.details...;;.You.should.have
0b40 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 .received.a.copy.of.the.GNU.Gene
0b60 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 ral.Public.License.;;.along.with
0b80 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 .this.program...If.not,.see.<htt
0ba0 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b ps://www.gnu.org/licenses/>...;;
0bc0 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 ;.Commentary:..;;.A.modern.list.
0be0 41 50 49 20 66 6f 72 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 53 65 65 20 69 74 73 20 6f 76 65 API.for.Emacs..;;.;;.See.its.ove
0c00 72 76 69 65 77 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e rview.at.https://github.com/magn
0c20 61 72 73 2f 64 61 73 68 2e 65 6c 23 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 ars/dash.el#functions...;;;.Code
0c40 3a 0a 0a 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.
0c60 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
0c80 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
0ca0 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
0cc0 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...(
0ce0 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
0d00 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
0d20 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
0d40 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."..
0d60 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
0d80 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
0da0 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:
0dc0 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.
0de0 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
0e00 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
0e20 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)
0e40 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
0e60 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
0e80 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
0ea0 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
0ec0 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
0ee0 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
0f00 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.
0f20 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
0f40 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
0f60 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
0f80 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
0fa0 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
0fc0 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
0fe0 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
1000 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.,
1020 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).........
1040 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
1060 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....
1080 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
10a0 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)
10c0 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
10e0 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..
1100 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
1120 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
1140 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'..
1160 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
1180 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
11a0 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))
11c0 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
11e0 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).
1200 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).
1220 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
1240 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
1260 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
1280 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
12a0 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
12c0 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'.".
12e0 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
1300 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)))
1320 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
1340 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
1360 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
1380 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
13a0 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
13c0 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
13e0 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
1400 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.
1420 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
1440 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
1460 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
1480 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
14a0 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'.".
14c0 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
14e0 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
1500 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
1520 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
1540 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
1560 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).......
1580 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
15a0 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
15c0 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.
15e0 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)........
1600 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.(
1620 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
1640 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)..
1660 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,.
1680 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
16a0 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.
16c0 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
16e0 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
1700 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
1720 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
1740 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
1760 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
1780 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))
17a0 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
17c0 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
17e0 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
1800 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
1820 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
1840 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
1860 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
1880 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
18a0 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.
18c0 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
18e0 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
1900 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
1920 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
1940 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
1960 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
1980 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
19a0 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.
19c0 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.
19e0 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
1a00 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
1a20 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.
1a40 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.....;;
1a60 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.
1a80 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.....
1aa0 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))...
1ac0 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))......
1ae0 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
1b00 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.(>
1b20 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)
1b40 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))...
1b60 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-
1b80 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
1ba0 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
1bc0 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
1be0 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
1c00 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-
1c20 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
1c40 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
1c60 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
1c80 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.
1ca0 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
1cc0 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,
1ce0 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
1d00 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
1d20 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
1d40 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.
1d60 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
1d80 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
1da0 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
1dc0 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
1de0 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'.
1e00 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
1e20 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
1e40 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.
1e60 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.
1e80 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*
1ea0 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))..........
1ec0 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)).............
1ee0 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
1f00 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
1f20 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
1f40 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)........
1f60 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)
1f80 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)
1fa0 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.,
1fc0 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
1fe0 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)...
2000 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
2020 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
2040 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
2060 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.
2080 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
20a0 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
20c0 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
20e0 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'."...(-
2100 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
2120 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
2140 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)..."
2160 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
2180 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
21a0 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.
21c0 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
21e0 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
2200 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
2220 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
2240 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.
2260 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
2280 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
22a0 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."
22c0 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."
22e0 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)......
2300 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).....
2320 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.(<.
2340 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.(
2360 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
2380 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
23a0 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.
23c0 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
23e0 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
2400 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
2420 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
2440 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
2460 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
2480 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
24a0 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
24c0 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
24e0 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.
2500 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
2520 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.
2540 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
2560 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
2580 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.
25a0 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
25c0 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
25e0 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
2600 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
2620 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'."
2640 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
2660 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
2680 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
26a0 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
26c0 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
26e0 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
2700 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),
2720 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
2740 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
2760 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
2780 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
27a0 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
27c0 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
27e0 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
2800 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
2820 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
2840 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
2860 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
2880 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
28a0 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
28c0 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
28e0 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
2900 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
2920 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
2940 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
2960 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
2980 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
29a0 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
29c0 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.
29e0 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.
2a00 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
2a20 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
2a40 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
2a60 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
2a80 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
2aa0 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
2ac0 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'."...(
2ae0 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
2b00 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
2b20 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
2b40 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
2b60 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
2b80 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
2ba0 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
2bc0 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.
2be0 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
2c00 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
2c20 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.`
2c40 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
2c60 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
2c80 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.(
2ca0 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
2cc0 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.
2ce0 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....
2d00 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
2d20 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
2d40 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
2d60 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
2d80 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
2da0 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
2dc0 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.((
2de0 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
2e00 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))
2e20 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)...
2e40 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
2e60 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
2e80 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.
2ea0 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
2ec0 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,.
2ee0 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
2f00 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
2f20 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
2f40 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.
2f60 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
2f80 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'.
2fa0 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
2fc0 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'."...(
2fe0 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.(
3000 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
3020 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
3040 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
3060 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
3080 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
30a0 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
30c0 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.
30e0 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
3100 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
3120 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)))...
3140 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
3160 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))......
3180 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
31a0 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
31c0 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
31e0 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
3200 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
3220 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
3240 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.
3260 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.
3280 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.
32a0 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
32c0 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
32e0 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
3300 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
3320 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.
3340 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
3360 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
3380 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
33a0 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
33c0 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
33e0 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.
3400 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
3420 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
3440 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
3460 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
3480 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
34a0 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,
34c0 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
34e0 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
3500 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
3520 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
3540 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
3560 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
3580 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',
35a0 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
35c0 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
35e0 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
3600 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)))...`(-
3620 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))).
3640 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
3660 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
3680 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.
36a0 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
36c0 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
36e0 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
3700 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
3720 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.
3740 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
3760 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
3780 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
37a0 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
37c0 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
37e0 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
3800 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
3820 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
3840 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
3860 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
3880 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
38a0 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
38c0 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
38e0 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
3900 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.
3920 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
3940 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
3960 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.`-
3980 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
39a0 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
39c0 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
39e0 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)..
3a00 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
3a20 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).
3a40 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
3a60 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..
3a80 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
3aa0 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
3ac0 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
3ae0 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
3b00 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
3b20 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
3b40 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)))
3b60 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
3b80 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
3ba0 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)..........
3bc0 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)..........
3be0 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
3c00 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
3c20 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
3c40 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
3c60 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
3c80 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
3ca0 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
3cc0 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.
3ce0 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
3d00 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
3d20 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
3d40 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
3d60 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)
3d80 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
3da0 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
3dc0 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
3de0 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
3e00 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
3e20 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'.(
3e40 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
3e60 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
3e80 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'
3ea0 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)
3ec0 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
3ee0 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
3f00 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............(-
3f20 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)
3f40 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
3f60 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)...
3f80 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
3fa0 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
3fc0 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
3fe0 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,.
4000 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
4020 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
4040 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
4060 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
4080 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.`--
40a0 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
40c0 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
40e0 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.......(--
4100 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.
4120 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)).....(
4140 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.
4160 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
4180 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.
41a0 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
41c0 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
41e0 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.
4200 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
4220 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
4240 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
4260 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
4280 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.
42a0 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-
42c0 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
42e0 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)....
4300 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)...
4320 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
4340 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
4360 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
4380 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
43a0 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
43c0 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
43e0 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'.(
4400 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
4420 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
4440 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
4460 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,
4480 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
44a0 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-
44c0 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
44e0 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.(
4500 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
4520 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
4540 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
4560 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
4580 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
45a0 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.
45c0 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.
45e0 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
4600 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
4620 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
4640 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.((
4660 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
4680 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.(
46a0 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
46c0 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)............
46e0 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)).
4700 20 20 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.,
4720 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
4740 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
4760 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"..........;;
4780 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
47a0 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
47c0 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.
47e0 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)
4800 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))))))..(
4820 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)...
4840 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
4860 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
4880 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
48a0 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
48c0 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).
48e0 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
4900 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
4920 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'...
4940 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
4960 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'
4980 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
49a0 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)...
49c0 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
49e0 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
4a00 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
4a20 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
4a40 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.
4a60 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
4a80 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.
4aa0 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
4ac0 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'.
4ae0 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
4b00 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
4b20 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
4b40 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
4b60 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
4b80 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
4ba0 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
4bc0 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
4be0 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
4c00 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
4c20 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
4c40 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
4c60 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.`
4c80 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
4ca0 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
4cc0 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
4ce0 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
4d00 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
4d20 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
4d40 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..
4d60 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.
4d80 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
4da0 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
4dc0 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
4de0 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
4e00 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
4e20 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
4e40 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
4e60 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
4e80 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
4ea0 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
4ec0 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
4ee0 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
4f00 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
4f20 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.`-
4f40 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
4f60 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
4f80 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
4fa0 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
4fc0 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)...
4fe0 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
5000 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
5020 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
5040 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
5060 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
5080 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
50a0 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
50c0 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
50e0 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
5100 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.
5120 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
5140 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.
5160 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
5180 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
51a0 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
51c0 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
51e0 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"))).....`(
5200 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)......
5220 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
5240 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
5260 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..........
5280 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.
52a0 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
52c0 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
52e0 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
5300 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
5320 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
5340 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
5360 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
5380 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
53a0 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
53c0 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.
53e0 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
5400 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
5420 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
5440 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',
5460 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
5480 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
54a0 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
54c0 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
54e0 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
5500 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.(
5520 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
5540 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
5560 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
5580 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
55a0 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.
55c0 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.
55e0 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
5600 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
5620 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.
5640 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
5660 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
5680 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.
56a0 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
56c0 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
56e0 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
5700 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
5720 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:.
5740 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
5760 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
5780 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'
57a0 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
57c0 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
57e0 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
5800 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
5820 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
5840 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
5860 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
5880 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
58a0 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.
58c0 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
58e0 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
5900 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
5920 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
5940 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
5960 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
5980 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
59a0 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
59c0 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
59e0 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
5a00 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.
5a20 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'
5a40 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)
5a60 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
5a80 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
5aa0 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)........
5ac0 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)).
5ae0 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))))........
5b00 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.(
5b20 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
5b40 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
5b60 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.`
5b80 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
5ba0 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
5bc0 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...
5be0 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.`--
5c00 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
5c20 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)
5c40 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
5c60 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
5c80 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))
5ca0 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
5cc0 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
5ce0 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
5d00 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
5d20 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
5d40 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
5d60 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
5d80 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
5da0 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
5dc0 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
5de0 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.`
5e00 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
5e20 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
5e40 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.(,
5e60 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.........
5e80 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
5ea0 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.(
5ec0 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
5ee0 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
5f00 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
5f20 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
5f40 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
5f60 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
5f80 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
5fa0 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
5fc0 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
5fe0 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'.".
6000 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-
6020 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
6040 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
6060 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
6080 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)))..
60a0 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")
60c0 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
60e0 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)
6100 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))))..(
6120 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).
6140 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
6160 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
6180 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
61a0 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
61c0 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
61e0 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
6200 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'.
6220 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
6240 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
6260 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
6280 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
62a0 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).
62c0 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
62e0 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
6300 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.
6320 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
6340 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
6360 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
6380 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
63a0 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
63c0 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
63e0 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
6400 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.
6420 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
6440 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
6460 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
6480 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
64a0 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
64c0 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
64e0 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
6500 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
6520 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
6540 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
6560 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
6580 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',.`
65a0 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
65c0 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))
65e0 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
6600 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.`-
6620 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
6640 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
6660 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
6680 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)
66a0 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
66c0 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
66e0 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
6700 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:.`-
6720 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)
6740 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-
6760 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))..
6780 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
67a0 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
67c0 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
67e0 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
6800 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'"...(
6820 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
6840 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
6860 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
6880 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.
68a0 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.
68c0 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
68e0 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:.`-
6900 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).(
6920 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
6940 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
6960 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)..."
6980 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'."...
69a0 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)))...
69c0 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
69e0 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).
6a00 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
6a20 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
6a40 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
6a60 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.
6a80 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
6aa0 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
6ac0 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
6ae0 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
6b00 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")).
6b20 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")))
6b40 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
6b60 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*.((
6b80 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.
6ba0 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.
6bc0 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
6be0 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)).........
6c00 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.
6c20 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.
6c40 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.
6c60 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
6c80 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
6ca0 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.
6cc0 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.
6ce0 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).
6d00 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)...
6d20 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
6d40 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.
6d60 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
6d80 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
6da0 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
6dc0 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.
6de0 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
6e00 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'
6e20 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
6e40 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
6e60 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.\
6e80 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
6ea0 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:
6ec0 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.
6ee0 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.(
6f00 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)))..
6f20 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).....(
6f40 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
6f60 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
6f80 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
6fa0 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
6fc0 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
6fe0 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
7000 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
7020 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
7040 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.
7060 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
7080 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
70a0 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)).
70c0 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
70e0 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
7100 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
7120 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.
7140 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
7160 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.
7180 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
71a0 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
71c0 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
71e0 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
7200 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
7220 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
7240 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:.`-
7260 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
7280 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
72a0 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
72c0 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))).....
72e0 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)
7300 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
7320 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
7340 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
7360 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
7380 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))).
73a0 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).
73c0 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
73e0 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.
7400 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
7420 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
7440 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
7460 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
7480 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
74a0 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
74c0 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
74e0 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
7500 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
7520 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
7540 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.
7560 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
7580 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
75a0 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.
75c0 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.
75e0 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
7600 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.
7620 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.
7640 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
7660 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
7680 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.
76a0 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.
76c0 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)
76e0 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
7700 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)))
7720 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.
7740 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.
7760 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.`
7780 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
77a0 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,
77c0 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
77e0 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).
7800 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
7820 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
7840 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.
7860 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
7880 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
78a0 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
78c0 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.`
78e0 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
7900 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
7920 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
7940 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
7960 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.
7980 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.
79a0 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).................
79c0 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.
79e0 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
7a00 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
7a20 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
7a40 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
7a60 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
7a80 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
7aa0 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:
7ac0 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
7ae0 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'.".
7b00 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
7b20 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).(
7b40 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
7b60 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
7b80 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-
7ba0 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
7bc0 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.
7be0 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.
7c00 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
7c20 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
7c40 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
7c60 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.
7c80 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.(
7ca0 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
7cc0 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).
7ce0 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.
7d00 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)))..
7d20 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
7d40 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
7d60 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
7d80 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
7da0 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.
7dc0 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
7de0 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
7e00 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
7e20 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
7e40 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
7e60 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
7e80 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
7ea0 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
7ec0 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
7ee0 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
7f00 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
7f20 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
7f40 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'.
7f60 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
7f80 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..
7fa0 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',
7fc0 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
7fe0 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.
8000 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
8020 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
8040 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
8060 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")))....
8080 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
80a0 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)).....
80c0 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
80e0 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
8100 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
8120 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
8140 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
8160 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
8180 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
81a0 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.
81c0 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
81e0 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
8200 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
8220 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
8240 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
8260 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
8280 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
82a0 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
82c0 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
82e0 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
8300 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
8320 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......
8340 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)))..
8360 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.
8380 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
83a0 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
83c0 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
83e0 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
8400 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
8420 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
8440 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',.`
8460 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
8480 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
84a0 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
84c0 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
84e0 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)
8500 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
8520 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
8540 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
8560 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
8580 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
85a0 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)")..
85c0 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
85e0 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.....
8600 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))
8620 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
8640 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
8660 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'...\(
8680 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.
86a0 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
86c0 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.
86e0 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'.
8700 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
8720 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
8740 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.
8760 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.
8780 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
87a0 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'.".
87c0 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
87e0 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.
8800 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
8820 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
8840 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
8860 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
8880 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
88a0 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
88c0 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'.
88e0 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'.
8900 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
8920 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
8940 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-
8960 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
8980 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
89a0 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
89c0 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.
89e0 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
8a00 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
8a20 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
8a40 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
8a60 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
8a80 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
8aa0 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
8ac0 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
8ae0 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
8b00 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
8b20 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.((
8b40 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"))).....`
8b60 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
8b80 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))
8ba0 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.(
8bc0 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.
8be0 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
8c00 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
8c20 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
8c40 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.
8c60 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
8c80 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
8ca0 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.-
8cc0 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
8ce0 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
8d00 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
8d20 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?.
8d40 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
8d60 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
8d80 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',.`-
8da0 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
8dc0 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
8de0 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
8e00 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.'
8e20 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
8e40 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
8e60 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
8e80 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
8ea0 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
8ec0 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,.
8ee0 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
8f00 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
8f20 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
8f40 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
8f60 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
8f80 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.
8fa0 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
8fc0 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'.
8fe0 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.
9000 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.
9020 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
9040 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
9060 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
9080 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?'.
90a0 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))
90c0 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).
90e0 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)...
9100 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
9120 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
9140 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
9160 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
9180 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.
91a0 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
91c0 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
91e0 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
9200 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
9220 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
9240 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',.
9260 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
9280 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?'.".
92a0 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
92c0 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?).(
92e0 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
9300 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.
9320 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
9340 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
9360 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?.(
9380 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.
93a0 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
93c0 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
93e0 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
9400 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.
9420 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.
9440 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?.(
9460 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
9480 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.'
94a0 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.--
94c0 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
94e0 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
9500 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
9520 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")).....
9540 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"))).....
9560 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
9580 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))......
95a0 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.
95c0 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.
95e0 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?.(
9600 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
9620 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
9640 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
9660 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
9680 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
96a0 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
96c0 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:.`-
96e0 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
9700 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
9720 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
9740 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
9760 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.
9780 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
97a0 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
97c0 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
97e0 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.
9800 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
9820 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
9840 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
9860 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
9880 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
98a0 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))...(
98c0 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)).....
98e0 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
9900 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...
9920 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)).....(
9940 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
9960 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.
9980 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
99a0 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.
99c0 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
99e0 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.
9a00 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
9a20 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-
9a40 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
9a60 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)..................(
9a80 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
9aa0 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))).
9ac0 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
9ae0 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)...
9b00 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
9b20 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
9b40 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
9b60 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
9b80 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
9ba0 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
9bc0 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
9be0 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
9c00 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
9c20 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.`
9c40 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
9c60 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-
9c80 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
9ca0 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
9cc0 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
9ce0 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
9d00 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
9d20 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
9d40 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
9d60 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
9d80 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
9da0 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
9dc0 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
9de0 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.`
9e00 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
9e20 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'."...
9e40 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).
9e60 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.(
9e80 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
9ea0 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
9ec0 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
9ee0 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
9f00 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
9f20 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
9f40 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
9f60 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
9f80 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
9fa0 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
9fc0 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
9fe0 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.
a000 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"))).....`
a020 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
a040 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)).......
a060 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
a080 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.
a0a0 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
a0c0 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.
a0e0 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.(
a100 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
a120 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
a140 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
a160 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
a180 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,.
a1a0 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
a1c0 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)
a1e0 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
a200 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
a220 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
a240 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
a260 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..
a280 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
a2a0 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.
a2c0 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.
a2e0 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.
a300 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
a320 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
a340 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
a360 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
a380 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:.
a3a0 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
a3c0 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
a3e0 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.
a400 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
a420 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.
a440 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
a460 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.
a480 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
a4a0 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
a4c0 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)").
a4e0 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
a500 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
a520 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.
a540 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
a560 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
a580 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'."...
a5a0 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
a5c0 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
a5e0 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.(
a600 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
a620 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
a640 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
a660 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.
a680 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
a6a0 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
a6c0 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
a6e0 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
a700 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
a720 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
a740 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.".
a760 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
a780 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).....(-
a7a0 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).
a7c0 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)).
a7e0 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
a800 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)..."
a820 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
a840 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
a860 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
a880 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
a8a0 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).()).....
a8c0 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
a8e0 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
a900 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-
a920 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))................
a940 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)
a960 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
a980 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
a9a0 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-
a9c0 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
a9e0 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
aa00 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',.`-
aa20 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
aa40 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.(
aa60 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)))
aa80 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
aaa0 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
aac0 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
aae0 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
ab00 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.
ab20 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
ab40 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)
ab60 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
ab80 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
aba0 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-
abc0 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
abe0 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
ac00 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
ac20 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
ac40 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'"..
ac60 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.
ac80 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
aca0 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
acc0 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
ace0 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
ad00 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
ad20 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
ad40 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))
ad60 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)
ad80 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-
ada0 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
adc0 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
ade0 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
ae00 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
ae20 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))
ae40 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).
ae60 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
ae80 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
aea0 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
aec0 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
aee0 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
af00 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-
af20 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
af40 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
af60 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)).
af80 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
afa0 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
afc0 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
afe0 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.(
b000 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)))....
b020 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)......
b040 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))
b060 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
b080 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
b0a0 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)..
b0c0 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
b0e0 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
b100 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
b120 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
b140 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.
b160 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
b180 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).........
b1a0 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
b1c0 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)
b1e0 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)...
b200 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)......
b220 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)...........
b240 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
b260 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
b280 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
b2a0 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).(
b2c0 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
b2e0 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
b300 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
b320 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-
b340 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
b360 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
b380 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
b3a0 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
b3c0 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
b3e0 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.
b400 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'
b420 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
b440 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
b460 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
b480 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)
b4a0 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
b4c0 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-
b4e0 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
b500 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
b520 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.
b540 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
b560 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
b580 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
b5a0 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
b5c0 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
b5e0 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
b600 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
b620 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
b640 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
b660 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))).
b680 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)...
b6a0 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)
b6c0 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))......
b6e0 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.
b700 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
b720 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.
b740 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
b760 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
b780 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
b7a0 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
b7c0 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)......
b7e0 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
b800 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)))........(
b820 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)
b840 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
b860 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
b880 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))
b8a0 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."
b8c0 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)
b8e0 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-
b900 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
b920 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
b940 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
b960 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
b980 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........
b9a0 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
b9c0 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))).
b9e0 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.
ba00 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
ba20 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
ba40 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
ba60 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
ba80 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
baa0 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
bac0 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
bae0 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
bb00 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.
bb20 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))..
bb40 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-
bb60 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)))
bb80 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.
bba0 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.
bbc0 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
bbe0 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.
bc00 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
bc20 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
bc40 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
bc60 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-
bc80 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.
bca0 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
bcc0 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
bce0 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
bd00 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))..
bd20 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.-
bd40 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
bd60 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
bd80 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
bda0 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
bdc0 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
bde0 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
be00 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))
be20 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)..."
be40 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
be60 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
be80 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.
bea0 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
bec0 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.
bee0 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
bf00 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
bf20 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
bf40 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
bf60 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
bf80 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
bfa0 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"))...
bfc0 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")
bfe0 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
c000 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
c020 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
c040 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
c060 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
c080 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.
c0a0 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
c0c0 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
c0e0 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)
c100 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.........
c120 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)).......
c140 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)).......
c160 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)..
c180 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
c1a0 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.
c1c0 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.,
c1e0 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.
c200 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)))..
c220 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).,
c240 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))))))
c260 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)
c280 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
c2a0 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
c2c0 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
c2e0 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
c300 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
c320 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.`-
c340 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
c360 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.((
c380 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")).......
c3a0 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"))...
c3c0 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
c3e0 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."
c400 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
c420 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.(
c440 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.
c460 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....
c480 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)...........
c4a0 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)).............
c4c0 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))..............
c4e0 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).................(,
c500 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.
c520 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......
c540 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))....
c560 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))....
c580 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)...
c5a0 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.......
c5c0 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.
c5e0 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
c600 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)......................
c620 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))..................
c640 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
c660 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.,
c680 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
c6a0 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
c6c0 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
c6e0 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
c700 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
c720 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.
c740 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.
c760 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
c780 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
c7a0 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)."...
c7c0 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.
c7e0 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
c800 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
c820 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
c840 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
c860 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
c880 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
c8a0 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
c8c0 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
c8e0 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
c900 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
c920 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
c940 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.(
c960 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.,
c980 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...........
c9a0 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.,
c9c0 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
c9e0 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.
ca00 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.........
ca20 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)).....
ca40 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.-
ca60 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)
ca80 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
caa0 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
cac0 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
cae0 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
cb00 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-
cb20 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))..(
cb40 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
cb60 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
cb80 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.
cba0 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
cbc0 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................
cbe0 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.(
cc00 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
cc20 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
cc40 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
cc60 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
cc80 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).
cca0 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))...............
ccc0 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
cce0 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)..."
cd00 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
cd20 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
cd40 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
cd60 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))............
cd80 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
cda0 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
cdc0 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
cde0 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
ce00 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-
ce20 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-
ce40 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..
ce60 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)..
ce80 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)..........
cea0 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)))).....
cec0 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*.
cee0 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))................(,
cf00 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)))...........(
cf20 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
cf40 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)))........
cf60 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
cf80 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)).........
cfa0 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)))))..(
cfc0 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
cfe0 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
d000 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
d020 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
d040 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
d060 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
d080 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
d0a0 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
d0c0 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.
d0e0 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.
d100 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.......(!
d120 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).......(!
d140 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......
d160 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).(
d180 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
d1a0 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)))..(
d1c0 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).
d1e0 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
d200 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
d220 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).(
d240 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
d260 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
d280 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).........(
d2a0 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
d2c0 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.
d2e0 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
d300 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.(
d320 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
d340 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
d360 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.`
d380 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
d3a0 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
d3c0 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.(
d3e0 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")).........(
d400 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")).......
d420 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")))...
d440 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
d460 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
d480 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)..
d4a0 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))....
d4c0 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)))..
d4e0 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)......
d500 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
d520 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))))
d540 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
d560 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
d580 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
d5a0 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
d5c0 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
d5e0 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
d600 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
d620 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
d640 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
d660 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
d680 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
d6a0 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
d6c0 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))..
d6e0 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).
d700 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
d720 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
d740 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
d760 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
d780 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
d7a0 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
d7c0 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
d7e0 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
d800 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.
d820 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.
d840 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
d860 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)
d880 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
d8a0 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
d8c0 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).......
d8e0 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
d900 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
d920 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)))...
d940 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
d960 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
d980 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
d9a0 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
d9c0 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
d9e0 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
da00 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
da20 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
da40 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
da60 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.
da80 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
daa0 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
dac0 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
dae0 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
db00 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
db20 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'
db40 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
db60 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
db80 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
dba0 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
dbc0 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
dbe0 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
dc00 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
dc20 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))......
dc40 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).......
dc60 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
dc80 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.
dca0 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
dcc0 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
dce0 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)........
dd00 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
dd20 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
dd40 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
dd60 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
dd80 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
dda0 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
ddc0 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
dde0 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).
de00 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.'
de20 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
de40 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
de60 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.
de80 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
dea0 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
dec0 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.
dee0 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....)).
df00 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
df20 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
df40 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
df60 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
df80 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
dfa0 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.
dfc0 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
dfe0 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
e000 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
e020 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
e040 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
e060 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."..
e080 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-
e0a0 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
e0c0 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
e0e0 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.())))..
e100 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
e120 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
e140 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.
e160 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
e180 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.
e1a0 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.(
e1c0 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)).......
e1e0 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
e200 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
e220 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-
e240 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.-
e260 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
e280 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
e2a0 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.
e2c0 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
e2e0 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
e300 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.--
e320 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
e340 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
e360 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)))..
e380 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)
e3a0 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
e3c0 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
e3e0 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
e400 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
e420 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
e440 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.
e460 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
e480 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
e4a0 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)).....
e4c0 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
e4e0 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)....
e500 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.
e520 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
e540 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))))..(
e560 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)...
e580 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.
e5a0 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
e5c0 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
e5e0 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..
e600 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
e620 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
e640 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
e660 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
e680 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
e6a0 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
e6c0 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
e6e0 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)).......
e700 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))......
e720 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)
e740 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
e760 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.(
e780 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
e7a0 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
e7c0 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.
e7e0 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
e800 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)
e820 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))
e840 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
e860 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
e880 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
e8a0 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.
e8c0 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.
e8e0 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
e900 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
e920 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
e940 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
e960 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
e980 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
e9a0 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
e9c0 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:....(-
e9e0 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
ea00 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.
ea20 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.
ea40 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
ea60 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
ea80 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))
eaa0 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)
eac0 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
eae0 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
eb00 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)))).......
eb20 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
eb40 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.
eb60 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
eb80 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))).
eba0 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
ebc0 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
ebe0 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.
ec00 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
ec20 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.
ec40 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."...
ec60 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
ec80 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
eca0 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
ecc0 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
ece0 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
ed00 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
ed20 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
ed40 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
ed60 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
ed80 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.
eda0 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
edc0 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
ede0 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
ee00 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.(
ee20 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
ee40 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)))..
ee60 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
ee80 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
eea0 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
eec0 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
eee0 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))
ef00 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)
ef20 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.
ef40 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
ef60 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
ef80 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
efa0 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
efc0 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
efe0 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
f000 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
f020 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'."...(
f040 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)))
f060 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
f080 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-
f0a0 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
f0c0 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
f0e0 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
f100 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
f120 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.
f140 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'."...(
f160 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
f180 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
f1a0 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
f1c0 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'."...(
f1e0 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)))
f200 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
f220 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
f240 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
f260 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.
f280 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.`
f2a0 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
f2c0 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
f2e0 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).....
f300 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
f320 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))
f340 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
f360 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
f380 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
f3a0 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.
f3c0 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.
f3e0 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
f400 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
f420 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.
f440 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',.`-
f460 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.(
f480 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))...
f4a0 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
f4c0 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
f4e0 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
f500 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
f520 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
f540 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
f560 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...
f580 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
f5a0 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
f5c0 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
f5e0 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-
f600 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
f620 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
f640 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
f660 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.
f680 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
f6a0 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
f6c0 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
f6e0 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
f700 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.
f720 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
f740 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.(
f760 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.(
f780 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....
f7a0 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).
f7c0 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)................
f7e0 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
f800 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
f820 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
f840 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.
f860 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
f880 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.
f8a0 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
f8c0 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
f8e0 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
f900 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
f920 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
f940 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.
f960 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
f980 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
f9a0 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).....................`(,@
f9c0 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
f9e0 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.`(->>.(->>.
fa00 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.
fa20 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.
fa40 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
fa60 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
fa80 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
faa0 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
fac0 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
fae0 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
fb00 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
fb20 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
fb40 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.
fb60 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
fb80 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
fba0 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.
fbc0 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
fbe0 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
fc00 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
fc20 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
fc40 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.
fc60 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
fc80 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
fca0 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
fcc0 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))..
fce0 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
fd00 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)..................(
fd20 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
fd40 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))
fd60 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
fd80 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
fda0 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.
fdc0 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
fde0 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
fe00 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
fe20 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
fe40 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
fe60 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
fe80 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.
fea0 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)...................(
fec0 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
fee0 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
ff00 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
ff20 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
ff40 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.`->>'),.
ff60 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,
ff80 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."...
ffa0 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.->)............(
ffc0 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..
ffe0 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
10000 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
10020 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)..............
10040 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))......
10060 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-
10080 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.
100a0 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
100c0 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.
100e0 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
10100 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
10120 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
10140 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.
10160 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
10180 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
101a0 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
101c0 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
101e0 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-
10200 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)...
10220 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.,(
10240 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
10260 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.&
10280 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
102a0 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
102c0 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
102e0 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.
10300 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.`->'
10320 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
10340 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
10360 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
10380 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
103a0 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.((
103c0 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"))).
103e0 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)).....
10400 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).`(->
10420 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)........,
10440 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
10460 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
10480 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
104a0 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',
104c0 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
104e0 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
10500 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.
10520 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))
10540 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)
10560 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
10580 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)..."
105a0 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
105c0 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.
105e0 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
10600 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
10620 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."...(
10640 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
10660 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
10680 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
106a0 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))))........
106c0 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-
106e0 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.
10700 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
10720 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
10740 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.
10760 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
10780 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."...(->>.(
107a0 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)
107c0 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
107e0 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
10800 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
10820 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
10840 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
10860 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
10880 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
108a0 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
108c0 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.
108e0 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."...
10900 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
10920 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
10940 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
10960 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)
10980 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
109a0 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
109c0 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
109e0 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
10a00 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
10a20 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-
10a40 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
10a60 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
10a80 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."..
10aa0 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).....`(
10ac0 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.
10ae0 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-
10b00 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
10b20 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+.
10b40 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
10b60 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
10b80 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
10ba0 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
10bc0 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.
10be0 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
10c00 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))..
10c20 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
10c40 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
10c60 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
10c80 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.
10ca0 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...
10cc0 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)....
10ce0 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
10d00 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
10d20 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
10d40 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
10d60 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
10d80 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
10da0 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
10dc0 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
10de0 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
10e00 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
10e20 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)))...
10e40 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))...
10e60 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
10e80 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
10ea0 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
10ec0 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--)
10ee0 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
10f00 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
10f20 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
10f40 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
10f60 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
10f80 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
10fa0 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).......(
10fc0 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-
10fe0 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
11000 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
11020 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......;;.
11040 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
11060 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......
11080 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...
110a0 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-
110c0 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))))))
110e0 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
11100 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
11120 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.
11140 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)))
11160 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
11180 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).
111a0 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
111c0 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
111e0 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
11200 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
11220 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
11240 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
11260 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
11280 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.
112a0 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',.
112c0 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
112e0 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."...(
11300 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
11320 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...
11340 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
11360 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).....
11380 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
113a0 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)).............
113c0 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-
113e0 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))))....
11400 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
11420 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
11440 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
11460 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)))..........((
11480 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.
114a0 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
114c0 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
114e0 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..............................
11500 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+.
11520 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........
11540 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
11560 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
11580 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))..........
115a0 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
115c0 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)))))......
115e0 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.
11600 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
11620 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
11640 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))
11660 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)...
11680 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
116a0 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,
116c0 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--
116e0 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
11700 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))))))
11720 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
11740 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
11760 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.
11780 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
117a0 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)))
117c0 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
117e0 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
11800 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
11820 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
11840 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)))....
11860 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,.
11880 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.....
118a0 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--
118c0 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
118e0 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.
11900 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.
11920 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
11940 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
11960 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))....
11980 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
119a0 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
119c0 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
119e0 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))
11a00 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
11a20 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))).......
11a40 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
11a60 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))))))..
11a80 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
11aa0 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
11ac0 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-
11ae0 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)..."
11b00 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.
11b20 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.
11b40 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.
11b60 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
11b80 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.
11ba0 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
11bc0 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
11be0 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
11c00 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
11c20 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
11c40 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,.
11c60 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
11c80 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
11ca0 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
11cc0 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
11ce0 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.
11d00 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.
11d20 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
11d40 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
11d60 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
11d80 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
11da0 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
11dc0 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
11de0 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
11e00 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
11e20 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
11e40 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.'
11e60 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.(
11e80 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.....................
11ea0 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))....
11ec0 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
11ee0 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))...................
11f00 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
11f20 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)...................
11f40 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
11f60 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._......................
11f80 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
11fa0 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
11fc0 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)))).....
11fe0 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))...
12000 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
12020 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))))..............
12040 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))))..
12060 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)))
12080 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
120a0 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
120c0 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
120e0 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
12100 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
12120 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."
12140 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.
12160 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)...
12180 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
121a0 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--"
121c0 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
121e0 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)
12200 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.
12220 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
12240 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
12260 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...
12280 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).....
122a0 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
122c0 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).....................(
122e0 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).....
12300 20 20 20 20 20 20 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
12320 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)).............
12340 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
12360 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)).........................
12380 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)))..
123a0 20 20 20 20 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
123c0 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)...................
123e0 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
12400 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)))...................
12420 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))))....
12440 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.............
12460 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....................(
12480 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)..............
124a0 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)
124c0 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
124e0 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
12500 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))............
12520 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)......
12540 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
12560 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
12580 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))
125a0 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
125c0 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).......................
125e0 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))...
12600 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.
12620 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).....................
12640 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)
12660 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."
12680 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
126a0 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
126c0 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.
126e0 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)))...
12700 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))
12720 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
12740 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
12760 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
12780 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
127a0 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
127c0 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
127e0 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
12800 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
12820 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
12840 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.
12860 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
12880 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
128a0 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-
128c0 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)......((=
128e0 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
12900 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)
12920 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)))......
12940 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
12960 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......(
12980 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
129a0 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
129c0 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.....
129e0 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
12a00 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
12a20 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
12a40 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
12a60 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
12a80 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."...`(
12aa0 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
12ac0 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)..
12ae0 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
12b00 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."
12b20 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))..(
12b40 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
12b60 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
12b80 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
12ba0 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
12bc0 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
12be0 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
12c00 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?
12c20 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
12c40 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
12c60 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
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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
12d20 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
12d40 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.
12d60 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
12d80 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.....
12da0 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
12dc0 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.
12de0 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
12e00 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
12e20 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
12e40 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
12e60 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
12e80 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
12ea0 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.
12ec0 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
12ee0 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
12f00 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
12f20 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..................(
12f40 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)....................(
12f60 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))..............
12f80 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))......
12fa0 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....
12fc0 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
12fe0 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
13000 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)))...................
13020 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.......................(
13040 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).....................
13060 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)))......
13080 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
130a0 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)))))..................
130c0 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
130e0 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
13100 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
13120 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
13140 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.(
13160 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
13180 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
131a0 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
131c0 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
131e0 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
13200 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.
13220 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
13240 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
13260 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
13280 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
132a0 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
132c0 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
132e0 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
13300 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
13320 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...
13340 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
13360 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
13380 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
133a0 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.
133c0 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
133e0 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)...............(
13400 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)
13420 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-
13440 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)
13460 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--
13480 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
134a0 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
134c0 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))
134e0 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).....
13500 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
13520 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
13540 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).....
13560 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
13580 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
135a0 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
135c0 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
135e0 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)...............
13600 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
13620 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
13640 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)))))).
13660 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
13680 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
136a0 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
136c0 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
136e0 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
13700 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
13720 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
13740 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
13760 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
13780 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)
137a0 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
137c0 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
137e0 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
13800 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
13820 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
13840 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
13860 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..
13880 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
138a0 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.
138c0 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
138e0 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
13900 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
13920 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
13940 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
13960 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
13980 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
139a0 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
139c0 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.
139e0 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
13a00 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
13a20 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])
13a40 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))..
13a60 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
13a80 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)).........
13aa0 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
13ac0 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)))
13ae0 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
13b00 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.
13b20 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
13b40 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
13b60 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
13b80 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
13ba0 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
13bc0 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
13be0 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
13c00 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
13c20 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
13c40 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
13c60 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
13c80 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
13ca0 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.
13cc0 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
13ce0 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
13d00 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
13d20 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
13d40 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
13d60 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..
13d80 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))....).
13da0 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
13dc0 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
13de0 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
13e00 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
13e20 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.
13e40 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
13e60 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
13e80 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.
13ea0 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
13ec0 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
13ee0 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
13f00 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
13f20 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.
13f40 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
13f60 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
13f80 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.
13fa0 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
13fc0 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
13fe0 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
14000 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
14020 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).-
14040 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'
14060 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
14080 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
140a0 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.
140c0 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.....
140e0 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.
14100 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
14120 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
14140 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.
14160 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
14180 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
141a0 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
141c0 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
141e0 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.
14200 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
14220 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
14240 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.................
14260 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
14280 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.
142a0 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
142c0 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....................
142e0 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
14300 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
14320 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...........................
14340 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.
14360 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..............................
14380 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
143a0 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.........................
143c0 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
143e0 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
14400 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
14420 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......
14440 20 20 20 20 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
14460 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.........
14480 20 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
144a0 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..........
144c0 20 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
144e0 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.....(&
14500 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
14520 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...
14540 20 20 20 20 20 20 20 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
14560 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......
14580 20 20 20 20 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
145a0 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.......
145c0 20 20 20 20 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
145e0 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
14600 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.
14620 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.....
14640 20 20 20 20 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
14660 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....
14680 20 20 20 20 20 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
146a0 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......
146c0 20 20 20 20 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
146e0 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
14700 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
14720 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
14740 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
14760 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'
14780 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
147a0 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
147c0 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
147e0 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
14800 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)
14820 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
14840 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
14860 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
14880 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
148a0 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:..-.
148c0 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
148e0 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
14900 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
14920 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
14940 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.
14960 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.
14980 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
149a0 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
149c0 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
149e0 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
14a00 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
14a20 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
14a40 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
14a60 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
14a80 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
14aa0 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:..
14ac0 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
14ae0 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
14b00 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
14b20 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
14b40 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
14b60 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).=>.(&
14b80 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
14ba0 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
14bc0 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).
14be0 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
14c00 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.
14c20 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
14c40 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.
14c60 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
14c80 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
14ca0 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
14cc0 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
14ce0 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.
14d00 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
14d20 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
14d40 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
14d60 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
14d80 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
14da0 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)
14dc0 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
14de0 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.
14e00 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
14e20 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].(_.
14e40 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
14e60 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.
14e80 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
14ea0 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
14ec0 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
14ee0 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
14f00 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
14f20 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
14f40 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
14f60 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
14f80 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
14fa0 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.
14fc0 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
14fe0 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
15000 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
15020 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
15040 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
15060 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])
15080 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
150a0 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
150c0 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.
150e0 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
15100 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
15120 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.
15140 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
15160 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
15180 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])..................
151a0 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
151c0 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))..
151e0 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
15200 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
15220 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.
15240 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)....
15260 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
15280 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)).........
152a0 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.
152c0 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
152e0 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))..
15300 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
15320 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
15340 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
15360 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
15380 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
153a0 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
153c0 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.
153e0 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
15400 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
15420 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
15440 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
15460 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..
15480 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
154a0 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
154c0 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.`
154e0 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
15500 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
15520 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.
15540 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
15560 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)............
15580 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............
155a0 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
155c0 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]............................[
155e0 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
15600 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)]..........................
15620 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
15640 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
15660 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
15680 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
156a0 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
156c0 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
156e0 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
15700 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
15720 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...............
15740 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
15760 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)))........
15780 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))).......
157a0 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.`
157c0 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,
157e0 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
15800 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
15820 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
15840 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
15860 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
15880 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
158a0 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
158c0 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
158e0 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
15900 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
15920 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
15940 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
15960 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
15980 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
159a0 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.....
159c0 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
159e0 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
15a00 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)....
15a20 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
15a40 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
15a60 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
15a80 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
15aa0 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
15ac0 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
15ae0 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.(
15b00 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
15b20 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
15b40 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
15b60 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
15b80 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*
15ba0 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...........;
15bc0 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
15be0 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...........;;
15c00 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..........
15c20 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
15c40 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))).............
15c60 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)))......
15c80 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.
15ca0 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..
15cc0 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
15ce0 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
15d00 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
15d20 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.
15d40 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
15d60 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
15d80 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
15da0 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
15dc0 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
15de0 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
15e00 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
15e20 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
15e40 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
15e60 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
15e80 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,..........;
15ea0 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
15ec0 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......
15ee0 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...
15f00 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
15f20 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...........
15f40 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).............
15f60 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
15f80 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
15fa0 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)))...............
15fc0 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
15fe0 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
16000 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)."--")))))...............(
16020 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."
16040 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
16060 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
16080 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.
160a0 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)......
160c0 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
160e0 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
16100 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
16120 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.,
16140 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
16160 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
16180 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.
161a0 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.
161c0 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
161e0 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.
16200 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.(
16220 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
16240 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
16260 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
16280 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
162a0 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."...(
162c0 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
162e0 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
16300 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........(
16320 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).(
16340 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
16360 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)).
16380 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)))..
163a0 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))....
163c0 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))
163e0 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
16400 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)..
16420 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
16440 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
16460 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.
16480 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.
164a0 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
164c0 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.
164e0 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))...
16500 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
16520 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
16540 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
16560 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
16580 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.
165a0 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
165c0 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)
165e0 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.,@
16600 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
16620 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
16640 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
16660 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
16680 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
166a0 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
166c0 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.
166e0 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
16700 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.
16720 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
16740 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
16760 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))..........
16780 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
167a0 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
167c0 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)
167e0 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,
16800 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
16820 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
16840 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
16860 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
16880 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
168a0 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
168c0 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-
168e0 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
16900 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.
16920 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."..
16940 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))...
16960 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
16980 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
169a0 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
169c0 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
169e0 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
16a00 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
16a20 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
16a40 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.
16a60 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
16a80 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
16aa0 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..
16ac0 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
16ae0 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
16b00 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
16b20 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:.
16b40 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
16b60 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
16b80 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
16ba0 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
16bc0 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
16be0 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.
16c00 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).................
16c20 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
16c40 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............
16c60 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
16c80 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
16ca0 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))..
16cc0 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
16ce0 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
16d00 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 )...............................
16d20 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.
16d40 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
16d60 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).....................(
16d80 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))..............
16da0 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
16dc0 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
16de0 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))
16e00 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)
16e20 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)..."
16e40 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
16e60 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
16e80 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
16ea0 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
16ec0 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'.
16ee0 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
16f00 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
16f20 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
16f40 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
16f60 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
16f80 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
16fa0 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
16fc0 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
16fe0 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
17000 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)
17020 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
17040 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.........................'
17060 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-
17080 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
170a0 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
170c0 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
170e0 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))...........
17100 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
17120 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))))......
17140 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
17160 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))
17180 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
171a0 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)...
171c0 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
171e0 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
17200 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
17220 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
17240 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
17260 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
17280 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.
172a0 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
172c0 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
172e0 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
17300 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
17320 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
17340 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
17360 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))
17380 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)
173a0 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
173c0 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).'(()).....(
173e0 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)
17400 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
17420 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)
17440 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.
17460 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
17480 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.
174a0 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
174c0 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
174e0 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
17500 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)).
17520 20 20 20 20 20 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
17540 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))))..
17560 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
17580 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
175a0 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.(
175c0 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
175e0 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.....
17600 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
17620 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
17640 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
17660 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.
17680 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
176a0 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
176c0 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."..
176e0 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-
17700 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
17720 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)
17740 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
17760 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)..
17780 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
177a0 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
177c0 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
177e0 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?
17800 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
17820 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
17840 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.
17860 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
17880 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
178a0 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
178c0 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)....(
178e0 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.
17900 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.
17920 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
17940 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
17960 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))........
17980 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................
179a0 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
179c0 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
179e0 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)
17a00 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.'-
17a20 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?.
17a40 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
17a60 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
17a80 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.
17aa0 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
17ac0 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
17ae0 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
17b00 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
17b20 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).....
17b40 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
17b60 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.
17b80 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?)..(
17ba0 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).
17bc0 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
17be0 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
17c00 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
17c20 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
17c40 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
17c60 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)...........................
17c80 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))
17ca0 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
17cc0 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
17ce0 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
17d00 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)
17d20 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.
17d40 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
17d60 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
17d80 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.
17da0 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
17dc0 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:.`-
17de0 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)
17e00 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
17e20 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).
17e40 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
17e60 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
17e80 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
17ea0 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.
17ec0 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
17ee0 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?).
17f00 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).
17f20 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.
17f40 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
17f60 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.
17f80 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
17fa0 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
17fc0 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-
17fe0 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.
18000 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
18020 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
18040 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)
18060 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'.".
18080 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
180a0 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)
180c0 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.(&
180e0 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
18100 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
18120 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
18140 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
18160 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
18180 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.
181a0 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)
181c0 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.
181e0 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
18200 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
18220 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
18240 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
18260 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
18280 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
182a0 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
182c0 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)
182e0 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.-
18300 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
18320 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.
18340 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
18360 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
18380 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
183a0 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
183c0 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
183e0 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
18400 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
18420 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
18440 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.
18460 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
18480 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
184a0 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.
184c0 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
184e0 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
18500 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
18520 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.
18540 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
18560 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.'*.
18580 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.
185a0 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
185c0 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..
185e0 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
18600 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
18620 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
18640 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)))
18660 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
18680 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
186a0 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.
186c0 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)
186e0 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.
18700 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).
18720 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
18740 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."..
18760 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-
18780 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))..(
187a0 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).
187c0 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
187e0 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
18800 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.
18820 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
18840 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
18860 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
18880 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
188a0 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
188c0 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
188e0 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.
18900 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
18920 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
18940 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
18960 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
18980 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
189a0 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
189c0 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
189e0 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
18a00 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
18a20 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
18a40 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
18a60 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\"."...(
18a80 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)))
18aa0 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).
18ac0 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-
18ae0 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
18b00 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
18b20 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
18b40 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
18b60 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)))..
18b80 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
18ba0 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
18bc0 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
18be0 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
18c00 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
18c20 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
18c40 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.
18c60 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
18c80 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
18ca0 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.
18cc0 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))..
18ce0 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
18d00 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.
18d20 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.(
18d40 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.
18d60 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).....
18d80 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).....(-
18da0 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
18dc0 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
18de0 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
18e00 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
18e20 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
18e40 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
18e60 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))).....(
18e80 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)).....
18ea0 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.
18ec0 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
18ee0 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
18f00 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
18f20 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
18f40 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))..
18f60 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
18f80 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...
18fa0 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.`-
18fc0 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
18fe0 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
19000 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
19020 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
19040 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
19060 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
19080 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.
190a0 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
190c0 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
190e0 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)..
19100 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.
19120 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
19140 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
19160 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
19180 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.
191a0 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
191c0 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
191e0 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.
19200 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-
19220 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..
19240 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.
19260 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
19280 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
192a0 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
192c0 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
192e0 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
19300 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
19320 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.
19340 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."
19360 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
19380 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
193a0 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.
193c0 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
193e0 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
19400 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,
19420 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
19440 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
19460 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."..
19480 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-
194a0 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
194c0 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))....(
194e0 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
19500 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
19520 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
19540 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
19560 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
19580 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
195a0 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
195c0 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
195e0 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
19600 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.
19620 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
19640 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
19660 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
19680 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
196a0 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....((
196c0 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?.
196e0 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
19700 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
19720 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.
19740 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
19760 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
19780 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
197a0 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
197c0 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
197e0 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'
19800 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
19820 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
19840 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
19860 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
19880 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
198a0 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
198c0 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
198e0 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
19900 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
19920 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.
19940 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..
19960 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
19980 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.
199a0 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'
199c0 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.`
199e0 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'.
19a00 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.
19a20 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."...
19a40 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)....((-
19a60 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
19a80 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
19aa0 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).(
19ac0 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
19ae0 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))))
19b00 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
19b20 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
19b40 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
19b60 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
19b80 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
19ba0 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).,
19bc0 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
19be0 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.
19c00 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
19c20 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...
19c40 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
19c60 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))....(
19c80 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
19ca0 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))...
19cc0 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
19ce0 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
19d00 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'."...
19d20 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))
19d40 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
19d60 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
19d80 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
19da0 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.
19dc0 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
19de0 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
19e00 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
19e20 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
19e40 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.
19e60 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
19e80 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.
19ea0 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
19ec0 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."..
19ee0 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)....((
19f00 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
19f20 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.
19f40 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).(
19f60 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.
19f80 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
19fa0 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
19fc0 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
19fe0 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
1a000 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)
1a020 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
1a040 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
1a060 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
1a080 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
1a0a0 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
1a0c0 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
1a0e0 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
1a100 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.
1a120 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,.
1a140 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
1a160 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.`-
1a180 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
1a1a0 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
1a1c0 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)
1a1e0 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)...
1a200 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
1a220 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
1a240 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))).
1a260 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
1a280 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
1a2a0 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
1a2c0 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.
1a2e0 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)).
1a300 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
1a320 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
1a340 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
1a360 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
1a380 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
1a3a0 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
1a3c0 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
1a3e0 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).
1a400 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
1a420 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)..............
1a440 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))).......
1a460 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
1a480 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
1a4a0 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
1a4c0 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.
1a4e0 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
1a500 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
1a520 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
1a540 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
1a560 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.(
1a580 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.
1a5a0 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,
1a5c0 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
1a5e0 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
1a600 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
1a620 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
1a640 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
1a660 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
1a680 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
1a6a0 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
1a6c0 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.
1a6e0 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
1a700 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).......
1a720 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-
1a740 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)).........
1a760 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
1a780 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
1a7a0 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
1a7c0 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
1a7e0 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
1a800 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).,
1a820 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).
1a840 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)...
1a860 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
1a880 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.
1a8a0 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
1a8c0 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.
1a8e0 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.
1a900 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
1a920 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
1a940 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
1a960 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
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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.
1aa00 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
1aa20 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...
1aa40 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
1aa60 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
1aa80 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
1aaa0 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
1aac0 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
1aae0 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
1ab00 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
1ab20 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."...
1ab40 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
1ab60 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
1ab80 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
1aba0 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
1abc0 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
1abe0 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
1ac00 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
1ac20 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
1ac40 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
1ac60 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
1ac80 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
1aca0 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
1acc0 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))
1ace0 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.
1ad00 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
1ad20 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
1ad40 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
1ad60 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
1ad80 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
1ada0 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
1adc0 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.
1ade0 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-
1ae00 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
1ae20 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
1ae40 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
1ae60 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.(
1ae80 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
1aea0 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
1aec0 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............(
1aee0 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).............
1af00 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)
1af20 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)))......
1af40 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
1af60 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))
1af80 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
1afa0 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
1afc0 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
1afe0 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
1b000 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
1b020 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
1b040 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)
1b060 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
1b080 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
1b0a0 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
1b0c0 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
1b0e0 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
1b100 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
1b120 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.
1b140 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
1b160 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
1b180 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
1b1a0 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
1b1c0 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
1b1e0 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:...
1b200 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
1b220 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))
1b240 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+)
1b260 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.
1b280 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
1b2a0 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
1b2c0 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
1b2e0 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
1b300 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
1b320 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).....
1b340 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
1b360 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)....
1b380 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
1b3a0 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
1b3c0 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....
1b3e0 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
1b400 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
1b420 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).
1b440 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.
1b460 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..
1b480 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.
1b4a0 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..
1b4c0 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.
1b4e0 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
1b500 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
1b520 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
1b540 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
1b560 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.(&
1b580 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
1b5a0 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
1b5c0 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)))...........
1b5e0 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
1b600 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
1b620 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))).......
1b640 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
1b660 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
1b680 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
1b6a0 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
1b6c0 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
1b6e0 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
1b700 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
1b720 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.
1b740 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
1b760 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
1b780 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
1b7a0 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
1b7c0 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.((
1b7e0 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
1b800 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.((
1b820 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
1b840 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
1b860 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
1b880 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
1b8a0 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))..................
1b8c0 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)))..........
1b8e0 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
1b900 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))))......
1b920 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
1b940 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)))..........
1b960 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
1b980 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
1b9a0 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
1b9c0 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.
1b9e0 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).(
1ba00 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.(
1ba20 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
1ba40 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
1ba60 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
1ba80 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
1baa0 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
1bac0 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
1bae0 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.(&
1bb00 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
1bb20 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
1bb40 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.'<>)....
1bb60 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
1bb80 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))..........................(
1bba0 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)))..
1bbc0 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))).
1bbe0 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.
1bc00 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
1bc20 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)))..........
1bc40 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).'<>)......
1bc60 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)..
1bc80 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
1bca0 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
1bcc0 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..
1bce0 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
1bd00 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
1bd20 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
1bd40 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...
1bd60 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'."
1bd80 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
1bda0 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
1bdc0 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
1bde0 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
1be00 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
1be20 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
1be40 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
1be60 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
1be80 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
1bea0 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
1bec0 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
1bee0 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
1bf00 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.
1bf20 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
1bf40 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
1bf60 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
1bf80 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).(
1bfa0 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
1bfc0 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
1bfe0 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
1c000 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))).......
1c020 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)).........(#
1c040 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
1c060 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
1c080 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.
1c0a0 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.
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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
1c160 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
1c180 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
1c1a0 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
1c1c0 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
1c1e0 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'.
1c200 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
1c220 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
1c240 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
1c260 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.
1c280 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
1c2a0 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
1c2c0 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
1c2e0 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
1c300 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.`(-
1c320 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,........
1c340 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
1c360 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)
1c380 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
1c3a0 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._
1c3c0 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
1c3e0 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
1c400 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
1c420 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
1c440 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,
1c460 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
1c480 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.
1c4a0 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
1c4c0 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.
1c4e0 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
1c500 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
1c520 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
1c540 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
1c560 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
1c580 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))..(
1c5a0 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
1c5c0 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.
1c5e0 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
1c600 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
1c620 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
1c640 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
1c660 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
1c680 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
1c6a0 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.
1c6c0 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
1c6e0 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
1c700 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
1c720 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)
1c740 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
1c760 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.
1c780 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
1c7a0 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
1c7c0 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
1c7e0 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
1c800 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
1c820 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
1c840 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
1c860 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)
1c880 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
1c8a0 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..
1c8c0 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
1c8e0 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
1c900 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.
1c920 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.
1c940 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
1c960 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
1c980 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
1c9a0 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
1c9c0 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.
1c9e0 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,
1ca00 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
1ca20 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.....
1ca40 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.
1ca60 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
1ca80 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
1caa0 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..
1cac0 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
1cae0 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.
1cb00 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.
1cb20 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
1cb40 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.
1cb60 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
1cb80 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
1cba0 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
1cbc0 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
1cbe0 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
1cc00 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
1cc20 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
1cc40 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
1cc60 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
1cc80 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,.
1cca0 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
1ccc0 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
1cce0 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.
1cd00 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
1cd20 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
1cd40 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
1cd60 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
1cd80 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)))))...
1cda0 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
1cdc0 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?
1cde0 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
1ce00 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
1ce20 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
1ce40 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....
1ce60 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).................
1ce80 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))).....
1cea0 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
1cec0 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
1cee0 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.
1cf00 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
1cf20 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
1cf40 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-
1cf60 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
1cf80 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
1cfa0 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.->
1cfc0 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
1cfe0 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.
1d000 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.
1d020 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\\='....)).
1d040 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\\=').(-
1d060 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
1d080 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.(
1d0a0 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
1d0c0 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))....)...(-
1d0e0 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
1d100 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
1d120 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\\='
1d140 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.\\=
1d160 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
1d180 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))"
1d1a0 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
1d1c0 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
1d1e0 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:
1d200 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
1d220 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
1d240 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
1d260 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
1d280 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
1d2a0 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.
1d2c0 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)...
1d2e0 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..
1d300 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
1d320 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
1d340 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"))
1d360 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
1d380 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
1d3a0 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).(:.?\\
1d3c0 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
1d3e0 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
1d400 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
1d420 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
1d440 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
1d460 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
1d480 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.
1d4a0 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
1d4c0 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.((
1d4e0 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"...................
1d500 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".....................
1d520 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 .."-->"......................."-
1d540 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?"......................."--
1d560 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".......................
1d580 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?"......................."
1d5a0 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"......................."
1d5c0 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"......................
1d5e0 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".......................
1d600 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"..................
1d620 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"...................
1d640 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"..................
1d660 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"...........
1d680 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"......
1d6a0 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".....
1d6c0 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"
1d6e0 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
1d700 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"......................."-
1d720 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"...............
1d740 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"...............
1d760 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".................
1d780 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"..............
1d7a0 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".............
1d7c0 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"...........
1d7e0 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"............
1d800 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".............
1d820 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"...............
1d840 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"...........
1d860 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".....
1d880 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"..
1d8a0 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
1d8c0 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
1d8e0 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-
1d900 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
1d920 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
1d940 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
1d960 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?".......................
1d980 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"................
1d9a0 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"..
1d9c0 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".
1d9e0 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-
1da00 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
1da20 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"......................."
1da40 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"................
1da60 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"...........
1da80 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".
1daa0 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
1dac0 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"......................."--
1dae0 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"..............
1db00 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".............
1db20 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"......
1db40 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"
1db60 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
1db80 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
1dba0 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
1dbc0 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
1dbe0 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
1dc00 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"......................."
1dc20 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"...................
1dc40 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"..............
1dc60 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".........
1dc80 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"......
1dca0 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
1dcc0 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
1dce0 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"....................
1dd00 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"......
1dd20 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"
1dd40 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
1dd60 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".....................
1dd80 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"..................
1dda0 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".................
1ddc0 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".............
1dde0 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"..........
1de00 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".......
1de20 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 ................"->"............
1de40 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 ..........."->>"................
1de60 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->"..................
1de80 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"....................
1dea0 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"....................
1dec0 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*"...................
1dee0 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"...................
1df00 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"......................
1df20 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*"......................."
1df40 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
1df60 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-->"......................."-
1df80 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->"......................."-
1dfa0 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->>"......................."
1dfc0 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"......................
1dfe0 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"....................
1e000 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*")))...........`((
1e020 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
1e040 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
1e060 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'.
1e080 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
1e0a0 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
1e0c0 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
1e0e0 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
1e100 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'.
1e120 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
1e140 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
1e160 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.
1e180 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.:
1e1a0 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")...
1e1c0 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
1e1e0 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
1e200 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
1e220 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
1e240 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
1e260 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
1e280 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
1e2a0 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
1e2c0 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
1e2e0 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...
1e300 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
1e320 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
1e340 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.
1e360 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
1e380 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
1e3a0 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
1e3c0 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'.
1e3e0 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'."
1e400 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
1e420 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
1e440 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-
1e460 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)..
1e480 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
1e4a0 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
1e4c0 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.
1e4e0 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
1e500 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
1e520 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
1e540 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
1e560 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
1e580 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
1e5a0 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
1e5c0 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.
1e5e0 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..
1e600 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.........
1e620 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
1e640 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
1e660 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.
1e680 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'
1e6a0 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."...
1e6c0 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
1e6e0 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)
1e700 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
1e720 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
1e740 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
1e760 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
1e780 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
1e7a0 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
1e7c0 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
1e7e0 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...:
1e800 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)..........(
1e820 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
1e840 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.
1e860 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-
1e880 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-
1e8a0 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
1e8c0 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-
1e8e0 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
1e900 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
1e920 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
1e940 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
1e960 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."^.-+..*:."."\\(.\\|$\
1e980 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
1e9a0 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.
1e9c0 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
1e9e0 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-
1ea00 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
1ea20 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
1ea40 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
1ea60 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
1ea80 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.
1eaa0 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
1eac0 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.#
1eae0 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
1eb00 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)))))..;;;#
1eb20 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-
1eb40 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
1eb60 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
1eb80 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
1eba0 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
1ebc0 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
1ebe0 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.
1ec00 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)))
1ec20 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
1ec40 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))
1ec60 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
1ec80 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
1eca0 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
1ecc0 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
1ece0 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
1ed00 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).............
1ed20 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)))
1ed40 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
1ed60 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
1ed80 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
1eda0 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
1edc0 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
1ede0 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.......
1ee00 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....
1ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee60 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
1ee80 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...
1eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef00 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...................
1ef20 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...................
1ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f000 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.......:
1f020 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
1f040 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.
1f060 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
1f080 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
1f0a0 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:
1f0c0 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
1f0e0 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...
1f100 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
1f120 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
1f140 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
1f160 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
1f180 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
1f1a0 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
1f1c0 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/
1f1e0 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:
1f200 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
1f220 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
1f240 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
1f260 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
1f280 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
1f2a0 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
1f2c0 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
1f2e0 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
1f300 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
1f320 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
1f340 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
1f360 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.
1f380 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...........................
1f3a0 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.....
1f3c0 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................
1f3e0 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..
1f400 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
1f420 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.
1f440 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.....
1f460 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..`....
1f480 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...
1f4a0 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......................
1f4c0 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....
1f4e0 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
1f500 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...............................
1f520 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...........
1f540 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 .|.......................{..>...
1f560 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.....
1f580 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.................
1f5a0 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.
1f5c0 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...............
1f5e0 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.
1f600 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..................
1f620 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.......................
1f640 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.
1f660 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..........
1f680 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..^...
1f6a0 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
1f6c0 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.
1f6e0 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....
1f700 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......
1f720 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.
1f740 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....$:.
1f760 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
1f780 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...
1f7a0 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
1f7c0 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<.."
1f7e0 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.
1f800 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(".
1f820 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..>$
1f840 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>.
1f860 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.
1f880 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...[...;"$.....=./."
1f8a0 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
1f8c0 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..............
1f8e0 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......
1f900 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.
1f920 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@
1f940 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".
1f960 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[
1f980 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
1f9a0 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..*..&
1f9c0 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
1f9e0 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
1fa00 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
1fa20 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
1fa40 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......
1fa60 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~}
1fa80 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
1faa0 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[.
1fac0 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...
1fae0 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@....
1fb00 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.+:
1fb20 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....
1fb40 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@.
1fb60 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..
1fb80 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..
1fba0 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
1fbc0 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...&
1fbe0 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....$
1fc00 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..
1fc20 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...
1fc40 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.
1fc60 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
1fc80 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
1fca0 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..\
1fcc0 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
1fce0 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....
1fd00 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
1fd20 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.
1fd40 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
1fd60 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.
1fd80 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
1fda0 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
1fdc0 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...}
1fde0 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...
1fe00 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...$..
1fe20 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..[
1fe40 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
1fe60 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
1fe80 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.(.^.;.
1fea0 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.
1fec0 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.
1fee0 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.
1ff00 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..
1ff20 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.........
1ff40 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.#.....#
1ff60 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.
1ff80 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\
1ffa0 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
1ffc0 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
1ffe0 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
20000 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.
20020 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....
20040 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...
20060 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.
20080 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
200a0 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.
200c0 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......
200e0 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
20100 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.
20120 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...
20140 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.-.([....><
20160 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,
20180 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......
201a0 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-
201c0 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.
201e0 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....+
20200 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.........;.
20220 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$...
20240 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<.?....
20260 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..
20280 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..
202a0 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@......=....
202c0 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).....<...._]
202e0 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..`
20300 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.
20320 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
20340 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..-.]
20360 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.
20380 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.
203a0 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
203c0 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.
203e0 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.............;..
20400 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...
20420 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.
20440 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.
20460 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]...[
20480 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
204a0 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...
204c0 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
204e0 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
20500 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
20520 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
20540 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=....>....?|......
20560 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.-.&....;)
20580 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...{.
205a0 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...
205c0 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.
205e0 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
20600 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.......
20620 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.........
20640 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..
20660 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
20680 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.>.
206a0 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.
206c0 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
206e0 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..
20700 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
20720 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
20740 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...=
20760 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.'
20780 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}
207a0 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..
207c0 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.
207e0 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..
20800 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..%?....+..'
20820 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...?
20840 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
20860 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..
20880 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.
208a0 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..
208c0 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..{(
208e0 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.
20900 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.,.
20920 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..<!.#
20940 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.....>....
20960 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....
20980 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...
209a0 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...
209c0 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...
209e0 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........"....."..
20a00 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+..$".~.&
20a20 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;
20a40 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...+!
20a60 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.......
20a80 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..
20aa0 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
20ac0 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-
20ae0 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.
20b00 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.
20b20 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...`...
20b40 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........
20b60 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
20b80 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...
20ba0 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......,*......
20bc0 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
20be0 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..".
20c00 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
20c20 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
20c40 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.{.....
20c60 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.
20c80 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`.
20ca0 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..
20cc0 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...
20ce0 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......
20d00 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......
20d20 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&.(|......
20d40 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
20d60 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.....%
20d80 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......
20da0 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@.].<.......,
20dc0 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.
20de0 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.......,..$.
20e00 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
20e20 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....{
20e40 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
20e60 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
20e80 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.....
20ea0 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..).
20ec0 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...
20ee0 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
20f00 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..
20f20 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
20f40 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..
20f60 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)
20f80 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..-.
20fa0 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...;.
20fc0 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......
20fe0 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...
21000 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`..
21020 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:...
21040 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.......
21060 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....
21080 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.\
210a0 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
210c0 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.".,
210e0 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...
21100 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(@...
21120 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.
21140 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.
21160 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
21180 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
211a0 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
211c0 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.
211e0 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....$.&.....
21200 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(......
21220 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....;!.;
21240 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.../
21260 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...........
21280 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
212a0 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.(./.
212c0 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
212e0 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.^..?...
21300 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(.
21320 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.......*
21340 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
21360 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.:..
21380 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.
213a0 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.....;}==
213c0 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%..#..
213e0 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
21400 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...
21420 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.<.
21440 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.....[....(}
21460 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`................
21480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21600 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/................
21620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21660 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
21680 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...
216a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21700 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...................
21720 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...................
21740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21800 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........
21820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21860 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
21880 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...
218a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21900 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...................
21920 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...................
21940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a00 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
21a20 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
21a40 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
21a60 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
21a80 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
21aa0 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
21ac0 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
21ae0 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
21b00 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:
21b20 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
21b40 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
21b60 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
21b80 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
21ba0 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.@
21bc0 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
21be0 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,.
21c00 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
21c20 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.
21c40 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.
21c60 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
21c80 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
21ca0 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
21cc0 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
21ce0 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
21d00 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
21d20 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
21d40 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
21d60 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.
21d80 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
21da0 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
21dc0 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
21de0 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
21e00 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
21e20 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
21e40 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
21e60 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
21e80 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.
21ea0 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.
21ec0 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
21ee0 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
21f00 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
21f20 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
21f40 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.
21f60 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
21f80 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.
21fa0 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
21fc0 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
21fe0 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.
22000 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
22020 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.
22040 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
22060 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
22080 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
220a0 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
220c0 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
220e0 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
22100 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
22120 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.
22140 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
22160 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
22180 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.
221a0 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
221c0 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
221e0 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.
22200 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
22220 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''.
22240 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.
22260 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
22280 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
222a0 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
222c0 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
222e0 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
22300 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
22320 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
22340 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
22360 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.
22380 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
223a0 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
223c0 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
223e0 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
22400 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
22420 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
22440 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.
22460 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
22480 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
224a0 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
224c0 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
224e0 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
22500 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.
22520 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
22540 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
22560 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
22580 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
225a0 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
225c0 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
225e0 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.
22600 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.
22620 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
22640 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
22660 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.
22680 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..
226a0 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
226c0 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
226e0 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
22700 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
22720 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
22740 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.
22760 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.
22780 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
227a0 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
227c0 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
227e0 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
22800 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.
22820 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
22840 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
22860 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
22880 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
228a0 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''.
228c0 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
228e0 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.
22900 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.
22920 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
22940 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
22960 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
22980 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
229a0 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
229c0 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
229e0 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
22a00 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
22a20 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
22a40 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
22a60 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
22a80 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
22aa0 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
22ac0 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
22ae0 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
22b00 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
22b20 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
22b40 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
22b60 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.
22b80 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
22ba0 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
22bc0 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
22be0 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.
22c00 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
22c20 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
22c40 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
22c60 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
22c80 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
22ca0 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.
22cc0 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
22ce0 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
22d00 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.
22d20 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
22d40 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
22d60 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
22d80 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
22da0 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
22dc0 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
22de0 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
22e00 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
22e20 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
22e40 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
22e60 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.
22e80 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
22ea0 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
22ec0 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
22ee0 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
22f00 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
22f20 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
22f40 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
22f60 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
22f80 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
22fa0 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
22fc0 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
22fe0 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
23000 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
23020 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
23040 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
23060 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
23080 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
230a0 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
230c0 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
230e0 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..
23100 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
23120 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
23140 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
23160 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'',.
23180 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.
231a0 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
231c0 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
231e0 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
23200 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
23220 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
23240 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
23260 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
23280 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
232a0 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.
232c0 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
232e0 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.
23300 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
23320 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
23340 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
23360 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
23380 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.
233a0 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
233c0 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
233e0 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
23400 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
23420 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
23440 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
23460 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.
23480 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
234a0 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
234c0 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
234e0 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
23500 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
23520 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
23540 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.
23560 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
23580 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
235a0 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
235c0 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
235e0 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
23600 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.
23620 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.
23640 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
23660 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
23680 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
236a0 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
236c0 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
236e0 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
23700 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
23720 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.
23740 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
23760 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
23780 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
237a0 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.
237c0 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
237e0 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
23800 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
23820 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
23840 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
23860 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
23880 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
238a0 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
238c0 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.
238e0 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
23900 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
23920 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.
23940 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
23960 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
23980 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
239a0 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
239c0 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
239e0 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
23a00 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
23a20 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
23a40 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.
23a60 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
23a80 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
23aa0 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.
23ac0 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
23ae0 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
23b00 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
23b20 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
23b40 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.
23b60 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.
23b80 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.
23ba0 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
23bc0 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
23be0 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,
23c00 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.
23c20 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.
23c40 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
23c60 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
23c80 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
23ca0 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
23cc0 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
23ce0 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.
23d00 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
23d20 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
23d40 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
23d60 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
23d80 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
23da0 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
23dc0 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
23de0 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
23e00 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.
23e20 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
23e40 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...
23e60 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
23e80 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
23ea0 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
23ec0 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
23ee0 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
23f00 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
23f20 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
23f40 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
23f60 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
23f80 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
23fa0 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
23fc0 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
23fe0 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
24000 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
24020 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.(
24040 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
24060 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
24080 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
240a0 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
240c0 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
240e0 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)..
24100 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
24120 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
24140 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
24160 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
24180 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.
241a0 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
241c0 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
241e0 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
24200 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
24220 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
24240 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
24260 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)
24280 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
242a0 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
242c0 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.
242e0 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
24300 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
24320 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
24340 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
24360 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
24380 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
243a0 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
243c0 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
243e0 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
24400 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
24420 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
24440 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
24460 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
24480 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.
244a0 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
244c0 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
244e0 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
24500 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
24520 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
24540 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
24560 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
24580 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
245a0 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
245c0 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.
245e0 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
24600 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
24620 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''
24640 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
24660 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
24680 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.
246a0 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
246c0 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
246e0 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
24700 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
24720 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
24740 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
24760 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
24780 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
247a0 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
247c0 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
247e0 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.
24800 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.
24820 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.
24840 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
24860 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
24880 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
248a0 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.
248c0 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.
248e0 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
24900 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
24920 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,
24940 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
24960 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.
24980 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
249a0 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
249c0 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
249e0 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
24a00 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
24a20 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.
24a40 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
24a60 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.
24a80 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
24aa0 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
24ac0 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
24ae0 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
24b00 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
24b20 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
24b40 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
24b60 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
24b80 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
24ba0 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
24bc0 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
24be0 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
24c00 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
24c20 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.
24c40 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
24c60 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.
24c80 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
24ca0 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
24cc0 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
24ce0 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.
24d00 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
24d20 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
24d40 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.``
24d60 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
24d80 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
24da0 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
24dc0 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
24de0 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
24e00 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
24e20 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
24e40 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
24e60 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
24e80 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.
24ea0 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
24ec0 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
24ee0 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
24f00 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
24f20 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.
24f40 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.
24f60 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
24f80 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
24fa0 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
24fc0 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.
24fe0 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
25000 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
25020 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.
25040 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
25060 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
25080 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
250a0 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
250c0 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.
250e0 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.
25100 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
25120 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
25140 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
25160 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
25180 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.
251a0 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
251c0 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
251e0 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.
25200 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
25220 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
25240 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
25260 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
25280 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
252a0 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
252c0 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
252e0 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
25300 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.
25320 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
25340 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,.
25360 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
25380 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
253a0 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
253c0 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
253e0 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
25400 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
25420 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
25440 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
25460 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
25480 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,
254a0 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
254c0 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
254e0 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
25500 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
25520 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
25540 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
25560 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
25580 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
255a0 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.`
255c0 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
255e0 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
25600 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
25620 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
25640 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
25660 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.
25680 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
256a0 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
256c0 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.
256e0 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.
25700 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
25720 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
25740 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
25760 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
25780 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
257a0 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
257c0 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
257e0 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
25800 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
25820 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
25840 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
25860 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
25880 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
258a0 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
258c0 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
258e0 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...
25900 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
25920 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
25940 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.
25960 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
25980 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
259a0 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
259c0 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
259e0 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.
25a00 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
25a20 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
25a40 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
25a60 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
25a80 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.
25aa0 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.
25ac0 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.
25ae0 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
25b00 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
25b20 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
25b40 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
25b60 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
25b80 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
25ba0 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
25bc0 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
25be0 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.
25c00 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.
25c20 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
25c40 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
25c60 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
25c80 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
25ca0 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
25cc0 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
25ce0 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.
25d00 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
25d20 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
25d40 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
25d60 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
25d80 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
25da0 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
25dc0 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
25de0 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
25e00 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
25e20 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
25e40 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.
25e60 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
25e80 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.
25ea0 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
25ec0 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
25ee0 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
25f00 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
25f20 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
25f40 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
25f60 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
25f80 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
25fa0 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
25fc0 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
25fe0 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
26000 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
26020 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.``
26040 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
26060 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
26080 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.
260a0 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
260c0 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,
260e0 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
26100 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
26120 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.
26140 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,
26160 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
26180 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
261a0 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
261c0 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
261e0 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
26200 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
26220 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
26240 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
26260 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
26280 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
262a0 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
262c0 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
262e0 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
26300 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
26320 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
26340 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.
26360 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
26380 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
263a0 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.
263c0 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
263e0 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
26400 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
26420 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
26440 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,.
26460 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
26480 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
264a0 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
264c0 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
264e0 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.
26500 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
26520 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
26540 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
26560 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
26580 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
265a0 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
265c0 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.
265e0 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
26600 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
26620 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
26640 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
26660 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
26680 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
266a0 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.
266c0 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.
266e0 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
26700 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:
26720 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.
26740 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.
26760 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.
26780 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.
267a0 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
267c0 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
267e0 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
26800 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
26820 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
26840 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
26860 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
26880 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
268a0 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
268c0 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
268e0 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
26900 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
26920 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
26940 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
26960 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
26980 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
269a0 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
269c0 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
269e0 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
26a00 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
26a20 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
26a40 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.
26a60 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
26a80 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.
26aa0 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
26ac0 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
26ae0 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.
26b00 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
26b20 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
26b40 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
26b60 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''.
26b80 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
26ba0 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
26bc0 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
26be0 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.
26c00 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
26c20 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
26c40 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,.
26c60 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
26c80 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.
26ca0 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
26cc0 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
26ce0 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
26d00 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
26d20 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
26d40 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
26d60 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
26d80 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
26da0 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
26dc0 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
26de0 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
26e00 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.
26e20 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.
26e40 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
26e60 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.
26e80 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
26ea0 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
26ec0 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
26ee0 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
26f00 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
26f20 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
26f40 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
26f60 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
26f80 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.
26fa0 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
26fc0 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
26fe0 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
27000 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
27020 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
27040 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
27060 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
27080 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
270a0 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
270c0 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
270e0 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
27100 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
27120 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.
27140 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
27160 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
27180 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
271a0 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
271c0 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
271e0 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
27200 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
27220 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
27240 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
27260 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
27280 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
272a0 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,.
272c0 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.'
272e0 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
27300 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
27320 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.
27340 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
27360 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
27380 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
273a0 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
273c0 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
273e0 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,.
27400 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
27420 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
27440 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.
27460 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
27480 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
274a0 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
274c0 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.
274e0 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
27500 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
27520 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
27540 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.
27560 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
27580 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:.......................
275a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
275c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
275e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27600 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........
27620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27660 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
27680 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...
276a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27700 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...................
27720 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...................
27740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27800 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
27820 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
27840 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.
27860 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
27880 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
278a0 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
278c0 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
278e0 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://
27900 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
27920 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
27940 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
27960 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
27980 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
279a0 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
279c0 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
279e0 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
27a00 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
27a20 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
27a40 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
27a60 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
27a80 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
27aa0 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
27ac0 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
27ae0 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
27b00 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.
27b20 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.
27b40 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
27b60 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
27b80 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;
27ba0 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
27bc0 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
27be0 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
27c00 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.
27c20 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.
27c40 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
27c60 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
27c80 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.
27ca0 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.
27cc0 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
27ce0 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
27d00 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
27d20 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.
27d40 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
27d60 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.
27d80 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
27da0 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
27dc0 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
27de0 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
27e00 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
27e20 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
27e40 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
27e60 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
27e80 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
27ea0 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
27ec0 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
27ee0 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
27f00 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
27f20 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
27f40 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
27f60 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
27f80 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.
27fa0 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
27fc0 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..
27fe0 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
28000 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
28020 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
28040 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
28060 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
28080 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
280a0 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'
280c0 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
280e0 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
28100 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
28120 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
28140 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
28160 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
28180 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
281a0 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
281c0 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
281e0 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.
28200 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.
28220 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
28240 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.
28260 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
28280 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
282a0 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
282c0 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
282e0 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
28300 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
28320 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
28340 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
28360 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.
28380 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
283a0 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
283c0 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.
283e0 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
28400 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
28420 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
28440 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
28460 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
28480 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
284a0 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
284c0 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
284e0 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
28500 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
28520 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.
28540 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.
28560 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.
28580 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.
285a0 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.
285c0 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
285e0 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
28600 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...
28620 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
28640 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
28660 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
28680 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
286a0 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
286c0 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
286e0 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...``
28700 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
28720 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
28740 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
28760 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
28780 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
287a0 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
287c0 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'
287e0 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
28800 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
28820 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.
28840 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.
28860 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
28880 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,
288a0 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
288c0 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.
288e0 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
28900 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
28920 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.``
28940 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.
28960 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
28980 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
289a0 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
289c0 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
289e0 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
28a00 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
28a20 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
28a40 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
28a60 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.
28a80 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,.
28aa0 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
28ac0 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
28ae0 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
28b00 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
28b20 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
28b40 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
28b60 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
28b80 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.
28ba0 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,
28bc0 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.
28be0 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
28c00 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
28c20 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
28c40 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
28c60 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
28c80 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
28ca0 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
28cc0 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
28ce0 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
28d00 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
28d20 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
28d40 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
28d60 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
28d80 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
28da0 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
28dc0 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
28de0 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
28e00 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
28e20 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
28e40 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
28e60 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.
28e80 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-
28ea0 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
28ec0 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
28ee0 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
28f00 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.
28f20 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.
28f40 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
28f60 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
28f80 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
28fa0 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
28fc0 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
28fe0 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
29000 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
29020 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.
29040 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
29060 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
29080 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.(
290a0 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.
290c0 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
290e0 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
29100 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
29120 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.
29140 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.
29160 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
29180 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.
291a0 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
291c0 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
291e0 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
29200 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
29220 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
29240 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
29260 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
29280 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
292a0 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
292c0 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
292e0 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
29300 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
29320 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.
29340 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
29360 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
29380 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.
293a0 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
293c0 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
293e0 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
29400 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
29420 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
29440 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
29460 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
29480 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
294a0 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
294c0 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
294e0 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
29500 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
29520 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.
29540 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
29560 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
29580 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
295a0 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.
295c0 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
295e0 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
29600 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
29620 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.
29640 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
29660 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
29680 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
296a0 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
296c0 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
296e0 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
29700 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
29720 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.
29740 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
29760 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
29780 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.
297a0 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,
297c0 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.
297e0 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
29800 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
29820 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
29840 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
29860 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
29880 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
298a0 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.
298c0 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
298e0 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
29900 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.
29920 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
29940 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
29960 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
29980 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
299a0 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
299c0 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
299e0 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
29a00 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
29a20 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
29a40 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.
29a60 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
29a80 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
29aa0 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.
29ac0 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
29ae0 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...
29b00 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
29b20 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
29b40 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...
29b60 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
29b80 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...@
29ba0 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
29bc0 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.
29be0 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
29c00 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
29c20 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
29c40 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
29c60 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
29c80 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
29ca0 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
29cc0 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
29ce0 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
29d00 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
29d20 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
29d40 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.
29d60 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
29d80 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
29da0 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
29dc0 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
29de0 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
29e00 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.
29e20 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
29e40 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.
29e60 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
29e80 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
29ea0 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.
29ec0 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
29ee0 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'
29f00 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,
29f20 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
29f40 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
29f60 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
29f80 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
29fa0 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
29fc0 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
29fe0 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
2a000 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
2a020 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.
2a040 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
2a060 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.
2a080 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
2a0a0 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
2a0c0 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
2a0e0 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
2a100 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.
2a120 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
2a140 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
2a160 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
2a180 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
2a1a0 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
2a1c0 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
2a1e0 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
2a200 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.
2a220 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
2a240 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
2a260 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
2a280 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
2a2a0 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
2a2c0 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
2a2e0 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
2a300 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.
2a320 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
2a340 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
2a360 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
2a380 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
2a3a0 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
2a3c0 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
2a3e0 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,
2a400 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
2a420 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
2a440 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
2a460 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
2a480 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.
2a4a0 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
2a4c0 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
2a4e0 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
2a500 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..
2a520 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
2a540 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
2a560 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;
2a580 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
2a5a0 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.
2a5c0 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
2a5e0 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.
2a600 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
2a620 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
2a640 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
2a660 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.
2a680 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,.
2a6a0 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.
2a6c0 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
2a6e0 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
2a700 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
2a720 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
2a740 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
2a760 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.
2a780 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
2a7a0 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
2a7c0 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
2a7e0 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
2a800 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
2a820 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.
2a840 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
2a860 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
2a880 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
2a8a0 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
2a8c0 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.
2a8e0 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
2a900 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.
2a920 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
2a940 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
2a960 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
2a980 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.(
2a9a0 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
2a9c0 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
2a9e0 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
2aa00 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
2aa20 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.
2aa40 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
2aa60 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
2aa80 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
2aaa0 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
2aac0 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
2aae0 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
2ab00 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.
2ab20 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
2ab40 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
2ab60 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.
2ab80 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.
2aba0 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
2abc0 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
2abe0 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
2ac00 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
2ac20 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.
2ac40 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
2ac60 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.
2ac80 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
2aca0 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
2acc0 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.
2ace0 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
2ad00 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.
2ad20 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
2ad40 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.
2ad60 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
2ad80 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
2ada0 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
2adc0 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
2ade0 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..
2ae00 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
2ae20 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
2ae40 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
2ae60 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
2ae80 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
2aea0 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
2aec0 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
2aee0 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
2af00 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.
2af20 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
2af40 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
2af60 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
2af80 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.
2afa0 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
2afc0 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
2afe0 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.
2b000 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
2b020 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
2b040 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
2b060 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
2b080 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
2b0a0 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
2b0c0 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
2b0e0 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
2b100 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
2b120 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
2b140 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
2b160 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
2b180 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
2b1a0 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
2b1c0 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
2b1e0 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
2b200 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
2b220 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
2b240 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
2b260 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
2b280 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
2b2a0 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'
2b2c0 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
2b2e0 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
2b300 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
2b320 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,.
2b340 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
2b360 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
2b380 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
2b3a0 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.
2b3c0 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
2b3e0 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
2b400 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
2b420 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
2b440 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.
2b460 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.
2b480 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.
2b4a0 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
2b4c0 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
2b4e0 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
2b500 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
2b520 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
2b540 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
2b560 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
2b580 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
2b5a0 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
2b5c0 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.
2b5e0 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
2b600 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.
2b620 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
2b640 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
2b660 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
2b680 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
2b6a0 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
2b6c0 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
2b6e0 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
2b700 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
2b720 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
2b740 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
2b760 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
2b780 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
2b7a0 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
2b7c0 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.
2b7e0 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
2b800 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
2b820 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
2b840 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
2b860 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
2b880 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
2b8a0 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
2b8c0 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
2b8e0 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
2b900 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
2b920 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
2b940 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
2b960 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
2b980 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
2b9a0 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
2b9c0 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
2b9e0 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
2ba00 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
2ba20 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
2ba40 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
2ba60 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.
2ba80 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
2baa0 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,.
2bac0 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
2bae0 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
2bb00 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
2bb20 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
2bb40 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
2bb60 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
2bb80 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
2bba0 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
2bbc0 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
2bbe0 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
2bc00 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
2bc20 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
2bc40 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
2bc60 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.
2bc80 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.
2bca0 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
2bcc0 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
2bce0 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
2bd00 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
2bd20 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
2bd40 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...``
2bd60 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
2bd80 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.
2bda0 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
2bdc0 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
2bde0 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
2be00 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
2be20 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
2be40 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
2be60 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
2be80 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
2bea0 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
2bec0 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
2bee0 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
2bf00 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
2bf20 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
2bf40 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.
2bf60 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
2bf80 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
2bfa0 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
2bfc0 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.
2bfe0 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
2c000 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
2c020 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
2c040 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
2c060 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
2c080 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
2c0a0 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
2c0c0 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
2c0e0 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
2c100 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
2c120 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
2c140 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
2c160 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
2c180 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
2c1a0 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
2c1c0 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:..@
2c1e0 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
2c200 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
2c220 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
2c240 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
2c260 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.
2c280 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
2c2a0 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.
2c2c0 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
2c2e0 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
2c300 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
2c320 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
2c340 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
2c360 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.
2c380 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
2c3a0 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.
2c3c0 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.
2c3e0 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
2c400 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
2c420 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
2c440 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
2c460 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
2c480 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
2c4a0 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
2c4c0 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
2c4e0 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
2c500 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
2c520 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.
2c540 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
2c560 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
2c580 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.
2c5a0 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
2c5c0 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
2c5e0 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
2c600 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
2c620 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
2c640 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..
2c660 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.
2c680 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.
2c6a0 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
2c6c0 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.
2c6e0 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
2c700 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..
2c720 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.
2c740 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
2c760 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
2c780 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.
2c7a0 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
2c7c0 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
2c7e0 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.
2c800 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
2c820 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.
2c840 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.
2c860 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
2c880 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
2c8a0 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
2c8c0 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
2c8e0 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
2c900 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
2c920 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
2c940 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
2c960 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.
2c980 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
2c9a0 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
2c9c0 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
2c9e0 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
2ca00 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
2ca20 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
2ca40 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
2ca60 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
2ca80 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
2caa0 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
2cac0 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
2cae0 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
2cb00 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.
2cb20 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.
2cb40 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.
2cb60 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
2cb80 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
2cba0 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
2cbc0 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
2cbe0 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
2cc00 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
2cc20 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
2cc40 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.
2cc60 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
2cc80 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
2cca0 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
2ccc0 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
2cce0 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.
2cd00 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
2cd20 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
2cd40 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
2cd60 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
2cd80 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
2cda0 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
2cdc0 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
2cde0 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
2ce00 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.
2ce20 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.
2ce40 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
2ce60 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
2ce80 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.
2cea0 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
2cec0 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
2cee0 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
2cf00 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
2cf20 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
2cf40 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
2cf60 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
2cf80 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
2cfa0 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
2cfc0 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
2cfe0 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
2d000 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
2d020 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
2d040 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
2d060 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
2d080 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
2d0a0 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
2d0c0 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
2d0e0 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
2d100 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
2d120 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,.
2d140 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.
2d160 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
2d180 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.
2d1a0 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
2d1c0 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.
2d1e0 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
2d200 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
2d220 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.
2d240 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...
2d260 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
2d280 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
2d2a0 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
2d2c0 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
2d2e0 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
2d300 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
2d320 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.
2d340 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
2d360 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
2d380 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
2d3a0 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
2d3c0 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
2d3e0 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
2d400 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
2d420 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
2d440 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
2d460 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
2d480 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
2d4a0 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
2d4c0 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
2d4e0 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
2d500 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.
2d520 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.
2d540 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
2d560 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
2d580 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.
2d5a0 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
2d5c0 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
2d5e0 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
2d600 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
2d620 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
2d640 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
2d660 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
2d680 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
2d6a0 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
2d6c0 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
2d6e0 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
2d700 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
2d720 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
2d740 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
2d760 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
2d780 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
2d7a0 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
2d7c0 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
2d7e0 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
2d800 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
2d820 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
2d840 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
2d860 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.
2d880 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
2d8a0 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
2d8c0 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
2d8e0 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
2d900 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
2d920 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
2d940 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
2d960 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
2d980 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
2d9a0 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
2d9c0 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
2d9e0 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
2da00 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
2da20 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
2da40 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'
2da60 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
2da80 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
2daa0 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.
2dac0 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
2dae0 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
2db00 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
2db20 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
2db40 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.
2db60 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
2db80 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
2dba0 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
2dbc0 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
2dbe0 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
2dc00 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
2dc20 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
2dc40 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
2dc60 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
2dc80 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
2dca0 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.
2dcc0 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
2dce0 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.
2dd00 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
2dd20 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
2dd40 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
2dd60 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
2dd80 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
2dda0 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
2ddc0 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
2dde0 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
2de00 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
2de20 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
2de40 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
2de60 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
2de80 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
2dea0 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
2dec0 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
2dee0 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
2df00 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
2df20 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
2df40 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
2df60 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
2df80 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
2dfa0 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
2dfc0 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
2dfe0 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
2e000 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
2e020 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,.
2e040 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
2e060 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
2e080 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
2e0a0 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
2e0c0 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
2e0e0 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
2e100 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,.
2e120 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
2e140 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
2e160 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
2e180 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
2e1a0 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''
2e1c0 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
2e1e0 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
2e200 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
2e220 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
2e240 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
2e260 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
2e280 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.
2e2a0 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.
2e2c0 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
2e2e0 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.
2e300 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
2e320 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
2e340 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
2e360 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
2e380 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
2e3a0 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
2e3c0 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
2e3e0 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
2e400 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.
2e420 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.
2e440 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.
2e460 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
2e480 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.
2e4a0 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
2e4c0 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,
2e4e0 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
2e500 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
2e520 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
2e540 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.
2e560 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.
2e580 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.
2e5a0 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
2e5c0 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
2e5e0 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
2e600 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
2e620 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
2e640 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
2e660 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)
2e680 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.
2e6a0 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
2e6c0 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
2e6e0 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
2e700 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
2e720 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
2e740 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
2e760 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.
2e780 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
2e7a0 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.
2e7c0 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
2e7e0 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
2e800 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
2e820 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
2e840 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
2e860 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
2e880 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
2e8a0 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.
2e8c0 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
2e8e0 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
2e900 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
2e920 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
2e940 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
2e960 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
2e980 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.
2e9a0 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
2e9c0 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
2e9e0 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
2ea00 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.
2ea20 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,.
2ea40 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.
2ea60 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
2ea80 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
2eaa0 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
2eac0 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
2eae0 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
2eb00 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
2eb20 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
2eb40 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
2eb60 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
2eb80 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
2eba0 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
2ebc0 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
2ebe0 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.
2ec00 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
2ec20 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
2ec40 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
2ec60 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
2ec80 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.``
2eca0 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
2ecc0 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
2ece0 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.
2ed00 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.
2ed20 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
2ed40 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
2ed60 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
2ed80 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.
2eda0 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.
2edc0 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
2ede0 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
2ee00 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
2ee20 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
2ee40 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
2ee60 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
2ee80 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
2eea0 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
2eec0 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
2eee0 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
2ef00 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
2ef20 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..
2ef40 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
2ef60 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
2ef80 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
2efa0 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
2efc0 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
2efe0 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
2f000 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
2f020 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
2f040 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
2f060 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
2f080 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
2f0a0 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
2f0c0 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.
2f0e0 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
2f100 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
2f120 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
2f140 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
2f160 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.
2f180 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
2f1a0 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
2f1c0 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
2f1e0 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
2f200 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
2f220 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
2f240 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
2f260 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.
2f280 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
2f2a0 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
2f2c0 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
2f2e0 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
2f300 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
2f320 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
2f340 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
2f360 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
2f380 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
2f3a0 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.
2f3c0 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
2f3e0 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
2f400 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
2f420 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.
2f440 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
2f460 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
2f480 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
2f4a0 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
2f4c0 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.
2f4e0 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
2f500 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
2f520 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
2f540 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
2f560 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
2f580 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.
2f5a0 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
2f5c0 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
2f5e0 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
2f600 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
2f620 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
2f640 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
2f660 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
2f680 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
2f6a0 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
2f6c0 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
2f6e0 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
2f700 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
2f720 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.
2f740 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.
2f760 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
2f780 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
2f7a0 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
2f7c0 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.
2f7e0 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
2f800 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
2f820 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
2f840 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
2f860 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
2f880 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
2f8a0 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
2f8c0 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.
2f8e0 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
2f900 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
2f920 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
2f940 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
2f960 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
2f980 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
2f9a0 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
2f9c0 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
2f9e0 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
2fa00 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
2fa20 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
2fa40 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
2fa60 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
2fa80 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
2faa0 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
2fac0 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.
2fae0 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
2fb00 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
2fb20 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
2fb40 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
2fb60 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
2fb80 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.
2fba0 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
2fbc0 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
2fbe0 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
2fc00 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.
2fc20 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
2fc40 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:..@
2fc60 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
2fc80 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
2fca0 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
2fcc0 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
2fce0 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
2fd00 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
2fd20 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
2fd40 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
2fd60 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
2fd80 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
2fda0 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
2fdc0 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.
2fde0 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...
2fe00 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
2fe20 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
2fe40 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
2fe60 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
2fe80 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
2fea0 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,.
2fec0 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
2fee0 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
2ff00 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,.
2ff20 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.
2ff40 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
2ff60 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
2ff80 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
2ffa0 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
2ffc0 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
2ffe0 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
30000 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
30020 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.
30040 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...
30060 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,.
30080 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
300a0 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
300c0 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{
300e0 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
30100 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}.................
30120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
301e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30200 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..
30220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30260 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
30280 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...
302a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
302e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30300 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...................
30320 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...................
30340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
303e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30400 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
30420 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.
30440 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:
30460 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
30480 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
304a0 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
304c0 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
304e0 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>.
30500 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
30520 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
30540 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
30560 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
30580 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.
305a0 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
305c0 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.
305e0 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.
30600 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
30620 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.
30640 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.;;.
30660 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
30680 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
306a0 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.
306c0 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
306e0 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
30700 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.
30720 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
30740 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
30760 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
30780 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
307a0 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
307c0 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
307e0 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
30800 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:..;;.
30820 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
30840 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.;;
30860 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
30880 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
308a0 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
308c0 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
308e0 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
30900 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,.
30920 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.
30940 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.
30960 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.
30980 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
309a0 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
309c0 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.;;.
309e0 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
30a00 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..;;
30a20 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
30a40 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
30a60 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/
30a80 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
30aa0 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
30ac0 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
30ae0 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
30b00 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
30b20 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.
30b40 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))...
30b60 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)...
30b80 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
30ba0 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-
30bc0 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.........
30be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c00 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/............
30c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c60 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
30c80 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...
30ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d00 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...................
30d20 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...................
30d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e00 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/..
30e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e60 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
30e80 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...
30ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f00 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...................
30f20 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...................
30f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31000 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
31020 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..........................
31040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31060 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
31080 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...
310a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31100 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...................
31120 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...................
31140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31200 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
31220 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
31240 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:......
31260 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:.
31280 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'...........-.'
312a0 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'........
312c0 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'..
312e0 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
31300 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'.........
31320 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'...
31340 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
31360 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'......
31380 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
313a0 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
313c0 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:....
313e0 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....
31400 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
31420 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:
31440 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.}}....
31460 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
31480 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......
314a0 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:.
314c0 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).......
314e0 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
31500 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'
31520 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 ................................
31540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31600 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..
31620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31660 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
31680 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...
316a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31700 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...................
31720 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...................
31740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31800 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
31820 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
31840 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.@
31860 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
31880 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
318a0 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-
318c0 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
318e0 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
31900 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
31920 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
31940 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
31960 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
31980 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
319a0 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.
319c0 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
319e0 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.
31a00 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
31a20 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
31a40 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.`
31a60 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
31a80 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-
31aa0 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
31ac0 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
31ae0 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
31b00 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.
31b20 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
31b40 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.
31b60 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
31b80 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
31ba0 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
31bc0 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
31be0 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
31c00 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
31c20 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
31c40 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
31c60 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
31c80 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
31ca0 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:
31cc0 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..
31ce0 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
31d00 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
31d20 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
31d40 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
31d60 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
31d80 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
31da0 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
31dc0 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
31de0 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
31e00 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
31e20 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
31e40 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..
31e60 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
31e80 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
31ea0 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
31ec0 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.
31ee0 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.[
31f00 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.
31f20 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.
31f40 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::....
31f60 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
31f80 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
31fa0 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
31fc0 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:/
31fe0 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{
32000 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
32020 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
32040 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
32060 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
32080 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
320a0 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,.
320c0 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.
320e0 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.@
32100 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.
32120 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
32140 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.@
32160 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
32180 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
321a0 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.
321c0 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
321e0 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
32200 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
32220 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
32240 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..*
32260 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
32280 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..@
322a0 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
322c0 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..
322e0 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
32300 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
32320 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
32340 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
32360 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
32380 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
323a0 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
323c0 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
323e0 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
32400 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
32420 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
32440 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
32460 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
32480 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.
324a0 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{
324c0 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
324e0 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
32500 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,,,
32520 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})..
32540 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
32560 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,
32580 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
325a0 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
325c0 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
325e0 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
32600 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
32620 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
32640 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
32660 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
32680 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}:..
326a0 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)
326c0 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
326e0 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
32700 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
32720 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
32740 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
32760 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
32780 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
327a0 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,,,.
327c0 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})...
327e0 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
32800 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-
32820 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
32840 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
32860 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{
32880 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:..
328a0 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
328c0 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
328e0 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
32900 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
32920 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
32940 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
32960 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}
32980 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
329a0 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.
329c0 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.(
329e0 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
32a00 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
32a20 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
32a40 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
32a60 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
32a80 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
32aa0 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{
32ac0 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
32ae0 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
32b00 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
32b20 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
32b40 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.
32b60 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
32b80 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
32ba0 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))
32bc0 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.
32be0 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
32c00 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).
32c20 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
32c40 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
32c60 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
32c80 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
32ca0 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
32cc0 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
32ce0 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)..
32d00 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.
32d20 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.
32d40 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
32d60 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
32d80 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
32da0 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.
32dc0 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
32de0 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.
32e00 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
32e20 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.*.
32e40 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
32e60 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::.......
32e80 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
32ea0 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
32ec0 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
32ee0 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
32f00 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.
32f20 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
32f40 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
32f60 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,.
32f80 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
32fa0 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
32fc0 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.@
32fe0 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
33000 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
33020 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
33040 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
33060 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
33080 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
330a0 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.@
330c0 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.
330e0 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
33100 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-
33120 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
33140 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
33160 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
33180 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
331a0 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.
331c0 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
331e0 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
33200 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
33220 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
33240 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
33260 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
33280 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
332a0 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.
332c0 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
332e0 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
33300 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
33320 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
33340 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
33360 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
33380 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{-
333a0 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
333c0 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
333e0 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
33400 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
33420 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
33440 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
33460 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
33480 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{-
334a0 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.
334c0 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
334e0 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
33500 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
33520 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{
33540 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://
33560 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
33580 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
335a0 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
335c0 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
335e0 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
33600 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}..
33620 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
33640 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
33660 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},.@
33680 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
336a0 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
336c0 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
336e0 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
33700 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
33720 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
33740 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
33760 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
33780 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,
337a0 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{
337c0 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.
337e0 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
33800 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.
33820 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
33840 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
33860 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
33880 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
338a0 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
338c0 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
338e0 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->},.@
33900 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-
33920 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
33940 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
33960 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
33980 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
339a0 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
339c0 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
339e0 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
33a00 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{
33a20 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
33a40 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
33a60 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}...@
33a80 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
33aa0 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
33ac0 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
33ae0 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.
33b00 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..@
33b20 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
33b40 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...............
33b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c00 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.............
33c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33c60 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
33c80 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...
33ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d00 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...................
33d20 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...................
33d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
33e00 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.
33e20 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..................
33e40 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...
33e60 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
33e80 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
33ea0 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
33ec0 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
33ee0 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
33f00 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....
33f20 20 20 20 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
33f40 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
33f60 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
33f80 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
33fa0 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
33fc0 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
33fe0 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
34000 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.
34020 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
34040 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
34060 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
34080 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
340a0 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
340c0 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
340e0 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
34100 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
34120 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
34140 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
34160 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
34180 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
341a0 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
341c0 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
341e0 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
34200 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
34220 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
34240 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
34260 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
34280 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
342a0 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.
342c0 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.
342e0 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
34300 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
34320 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
34340 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
34360 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
34380 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
343a0 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
343c0 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.
343e0 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
34400 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
34420 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
34440 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
34460 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
34480 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
344a0 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.
344c0 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
344e0 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
34500 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
34520 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
34540 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
34560 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
34580 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
345a0 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
345c0 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
345e0 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).
34600 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
34620 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
34640 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.
34660 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
34680 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
346a0 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.
346c0 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
346e0 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.
34700 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.
34720 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
34740 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
34760 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
34780 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
347a0 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
347c0 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
347e0 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
34800 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
34820 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.
34840 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
34860 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
34880 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
348a0 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
348c0 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
348e0 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
34900 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
34920 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.
34940 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
34960 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..
34980 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
349a0 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
349c0 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.
349e0 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
34a00 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
34a20 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
34a40 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
34a60 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
34a80 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
34aa0 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
34ac0 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
34ae0 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
34b00 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.
34b20 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
34b40 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
34b60 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
34b80 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
34ba0 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
34bc0 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
34be0 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
34c00 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
34c20 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........................
34c40 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
34c60 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
34c80 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
34ca0 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
34cc0 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
34ce0 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
34d00 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
34d20 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
34d40 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
34d60 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.
34d80 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
34da0 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
34dc0 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.
34de0 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
34e00 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
34e20 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
34e40 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.
34e60 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
34e80 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
34ea0 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.
34ec0 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
34ee0 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
34f00 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
34f20 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...
34f40 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
34f60 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
34f80 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
34fa0 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
34fc0 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
34fe0 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
35000 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
35020 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
35040 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
35060 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.
35080 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.
350a0 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.
350c0 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
350e0 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
35100 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.
35120 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
35140 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
35160 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
35180 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
351a0 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
351c0 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"
351e0 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.
35200 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
35220 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
35240 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,.
35260 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
35280 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
352a0 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
352c0 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
352e0 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
35300 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
35320 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
35340 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
35360 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,
35380 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
353a0 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
353c0 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.
353e0 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.
35400 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
35420 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
35440 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..
35460 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.
35480 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
354a0 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
354c0 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.
354e0 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
35500 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
35520 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.
35540 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
35560 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
35580 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
355a0 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
355c0 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
355e0 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
35600 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
35620 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
35640 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
35660 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
35680 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
356a0 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
356c0 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
356e0 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
35700 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
35720 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
35740 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
35760 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
35780 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
357a0 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
357c0 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
357e0 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
35800 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
35820 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.
35840 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
35860 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,
35880 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
358a0 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.
358c0 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
358e0 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
35900 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'
35920 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
35940 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
35960 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
35980 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.
359a0 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
359c0 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
359e0 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
35a00 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
35a20 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,
35a40 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.
35a60 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
35a80 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
35aa0 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,.
35ac0 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
35ae0 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
35b00 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
35b20 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
35b40 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
35b60 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
35b80 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.
35ba0 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
35bc0 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
35be0 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
35c00 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.
35c20 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
35c40 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
35c60 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,.
35c80 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
35ca0 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
35cc0 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
35ce0 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
35d00 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
35d20 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
35d40 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
35d60 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,.
35d80 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
35da0 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
35dc0 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
35de0 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
35e00 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
35e20 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
35e40 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
35e60 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.
35e80 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
35ea0 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
35ec0 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
35ee0 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
35f00 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
35f20 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
35f40 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.
35f60 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
35f80 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
35fa0 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
35fc0 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
35fe0 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
36000 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
36020 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
36040 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
36060 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.
36080 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
360a0 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
360c0 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
360e0 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
36100 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
36120 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
36140 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.
36160 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
36180 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
361a0 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
361c0 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
361e0 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
36200 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.
36220 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
36240 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
36260 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
36280 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
362a0 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
362c0 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
362e0 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
36300 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
36320 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
36340 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
36360 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
36380 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.
363a0 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.
363c0 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
363e0 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
36400 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
36420 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
36440 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
36460 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
36480 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
364a0 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
364c0 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
364e0 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
36500 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
36520 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
36540 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
36560 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
36580 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
365a0 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
365c0 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
365e0 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
36600 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.
36620 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.
36640 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
36660 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
36680 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.
366a0 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
366c0 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.
366e0 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
36700 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.
36720 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
36740 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
36760 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
36780 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.
367a0 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.
367c0 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
367e0 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
36800 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.
36820 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).
36840 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
36860 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
36880 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
368a0 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.
368c0 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
368e0 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
36900 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".
36920 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
36940 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
36960 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
36980 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
369a0 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
369c0 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
369e0 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
36a00 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
36a20 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
36a40 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
36a60 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
36a80 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,
36aa0 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.
36ac0 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
36ae0 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
36b00 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
36b20 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
36b40 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
36b60 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
36b80 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
36ba0 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,.
36bc0 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
36be0 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
36c00 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
36c20 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.
36c40 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
36c60 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
36c80 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
36ca0 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
36cc0 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
36ce0 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
36d00 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.
36d20 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.
36d40 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
36d60 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
36d80 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
36da0 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
36dc0 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
36de0 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
36e00 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
36e20 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
36e40 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
36e60 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
36e80 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,.
36ea0 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
36ec0 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
36ee0 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.
36f00 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:..
36f20 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
36f40 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
36f60 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
36f80 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
36fa0 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
36fc0 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
36fe0 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
37000 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
37020 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
37040 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
37060 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.
37080 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
370a0 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.
370c0 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....
370e0 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
37100 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
37120 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
37140 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
37160 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
37180 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
371a0 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
371c0 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
371e0 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
37200 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
37220 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.
37240 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
37260 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
37280 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
372a0 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
372c0 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
372e0 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
37300 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
37320 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
37340 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.
37360 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
37380 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
373a0 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
373c0 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.
373e0 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
37400 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
37420 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
37440 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
37460 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
37480 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
374a0 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.
374c0 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....
374e0 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
37500 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...
37520 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
37540 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
37560 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.
37580 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
375a0 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
375c0 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.
375e0 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
37600 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,.
37620 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.
37640 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
37660 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.....
37680 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
376a0 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
376c0 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.
376e0 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..
37700 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
37720 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
37740 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
37760 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
37780 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.
377a0 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.
377c0 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.
377e0 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
37800 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
37820 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
37840 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
37860 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
37880 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
378a0 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
378c0 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
378e0 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
37900 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
37920 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
37940 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
37960 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
37980 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
379a0 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
379c0 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
379e0 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
37a00 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.
37a20 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
37a40 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
37a60 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
37a80 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
37aa0 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
37ac0 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.
37ae0 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
37b00 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
37b20 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
37b40 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..
37b60 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
37b80 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
37ba0 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
37bc0 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,.
37be0 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
37c00 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
37c20 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
37c40 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
37c60 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
37c80 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
37ca0 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
37cc0 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
37ce0 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
37d00 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
37d20 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
37d40 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.
37d60 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
37d80 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
37da0 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
37dc0 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
37de0 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.
37e00 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
37e20 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
37e40 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
37e60 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
37e80 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
37ea0 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
37ec0 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
37ee0 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
37f00 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
37f20 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
37f40 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
37f60 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
37f80 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
37fa0 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
37fc0 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
37fe0 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
38000 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
38020 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
38040 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
38060 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
38080 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
380a0 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
380c0 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
380e0 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
38100 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
38120 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
38140 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.
38160 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
38180 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
381a0 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
381c0 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
381e0 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
38200 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
38220 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
38240 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
38260 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
38280 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
382a0 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
382c0 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
382e0 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
38300 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
38320 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
38340 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.
38360 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...
38380 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
383a0 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
383c0 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
383e0 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
38400 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..
38420 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.
38440 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
38460 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
38480 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,.
384a0 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
384c0 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
384e0 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
38500 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.
38520 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
38540 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
38560 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.
38580 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
385a0 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
385c0 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
385e0 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
38600 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
38620 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.
38640 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
38660 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
38680 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
386a0 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
386c0 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
386e0 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
38700 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
38720 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
38740 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.
38760 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,
38780 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
387a0 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.
387c0 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
387e0 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.
38800 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:.....
38820 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
38840 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.
38860 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
38880 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).
388a0 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
388c0 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.
388e0 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.
38900 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
38920 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
38940 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
38960 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
38980 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..
389a0 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
389c0 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
389e0 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
38a00 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
38a20 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
38a40 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
38a60 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
38a80 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
38aa0 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.
38ac0 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,
38ae0 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
38b00 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
38b20 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.
38b40 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.
38b60 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
38b80 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
38ba0 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.
38bc0 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
38be0 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
38c00 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...
38c20 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...
38c40 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
38c60 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
38c80 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
38ca0 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
38cc0 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
38ce0 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
38d00 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
38d20 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.
38d40 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
38d60 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
38d80 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
38da0 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
38dc0 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
38de0 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
38e00 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.
38e20 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
38e40 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.
38e60 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
38e80 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
38ea0 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.
38ec0 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
38ee0 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,
38f00 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
38f20 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,.
38f40 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.
38f60 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
38f80 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
38fa0 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
38fc0 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.
38fe0 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
39000 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
39020 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....
39040 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
39060 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
39080 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.
390a0 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
390c0 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
390e0 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
39100 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
39120 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
39140 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
39160 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
39180 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
391a0 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
391c0 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
391e0 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
39200 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.
39220 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
39240 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
39260 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
39280 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
392a0 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
392c0 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.
392e0 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.
39300 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
39320 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
39340 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.
39360 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
39380 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
393a0 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
393c0 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
393e0 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,.
39400 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
39420 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
39440 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.
39460 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
39480 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
394a0 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
394c0 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
394e0 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
39500 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
39520 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
39540 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
39560 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
39580 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.
395a0 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
395c0 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
395e0 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
39600 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
39620 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
39640 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
39660 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
39680 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
396a0 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
396c0 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
396e0 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
39700 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
39720 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
39740 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
39760 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
39780 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,.
397a0 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.
397c0 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
397e0 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.
39800 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
39820 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
39840 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
39860 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,.
39880 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
398a0 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.
398c0 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
398e0 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
39900 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
39920 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
39940 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
39960 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
39980 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
399a0 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
399c0 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
399e0 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
39a00 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
39a20 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
39a40 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
39a60 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
39a80 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
39aa0 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
39ac0 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
39ae0 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
39b00 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
39b20 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
39b40 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
39b60 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.
39b80 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
39ba0 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
39bc0 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
39be0 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.
39c00 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
39c20 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.
39c40 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
39c60 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
39c80 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
39ca0 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)
39cc0 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.
39ce0 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
39d00 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
39d20 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
39d40 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."
39d60 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
39d80 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
39da0 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
39dc0 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.
39de0 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
39e00 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
39e20 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."
39e40 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
39e60 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
39e80 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
39ea0 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
39ec0 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
39ee0 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
39f00 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
39f20 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,.
39f40 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
39f60 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
39f80 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.
39fa0 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
39fc0 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
39fe0 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
3a000 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
3a020 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
3a040 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
3a060 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
3a080 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
3a0a0 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
3a0c0 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.
3a0e0 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,
3a100 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
3a120 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.
3a140 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
3a160 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
3a180 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
3a1a0 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
3a1c0 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.
3a1e0 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
3a200 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
3a220 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
3a240 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
3a260 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
3a280 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
3a2a0 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
3a2c0 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
3a2e0 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
3a300 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
3a320 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
3a340 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
3a360 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
3a380 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
3a3a0 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
3a3c0 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
3a3e0 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.
3a400 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
3a420 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
3a440 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
3a460 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
3a480 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).
3a4a0 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.
3a4c0 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
3a4e0 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
3a500 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..."
3a520 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
3a540 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
3a560 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
3a580 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
3a5a0 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
3a5c0 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
3a5e0 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
3a600 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
3a620 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
3a640 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
3a660 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
3a680 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
3a6a0 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
3a6c0 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
3a6e0 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
3a700 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
3a720 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,
3a740 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
3a760 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
3a780 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
3a7a0 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
3a7c0 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
3a7e0 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.
3a800 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
3a820 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
3a840 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
3a860 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
3a880 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.
3a8a0 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
3a8c0 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
3a8e0 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.
3a900 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
3a920 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
3a940 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
3a960 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
3a980 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
3a9a0 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.
3a9c0 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
3a9e0 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
3aa00 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
3aa20 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
3aa40 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
3aa60 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
3aa80 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
3aaa0 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
3aac0 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
3aae0 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
3ab00 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
3ab20 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
3ab40 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.
3ab60 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
3ab80 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
3aba0 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
3abc0 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
3abe0 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
3ac00 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
3ac20 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
3ac40 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
3ac60 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
3ac80 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
3aca0 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
3acc0 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
3ace0 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
3ad00 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
3ad20 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
3ad40 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
3ad60 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
3ad80 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
3ada0 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.
3adc0 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,
3ade0 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
3ae00 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
3ae20 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
3ae40 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.
3ae60 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
3ae80 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,
3aea0 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.
3aec0 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
3aee0 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
3af00 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
3af20 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
3af40 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
3af60 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
3af80 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
3afa0 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
3afc0 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
3afe0 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
3b000 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
3b020 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
3b040 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
3b060 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
3b080 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
3b0a0 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
3b0c0 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
3b0e0 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
3b100 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
3b120 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
3b140 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
3b160 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.
3b180 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.
3b1a0 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
3b1c0 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
3b1e0 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
3b200 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
3b220 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
3b240 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
3b260 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
3b280 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
3b2a0 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
3b2c0 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.
3b2e0 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
3b300 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"
3b320 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
3b340 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
3b360 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
3b380 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
3b3a0 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
3b3c0 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
3b3e0 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
3b400 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
3b420 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
3b440 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
3b460 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
3b480 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
3b4a0 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
3b4c0 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.
3b4e0 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
3b500 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
3b520 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
3b540 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
3b560 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.
3b580 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
3b5a0 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
3b5c0 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
3b5e0 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.
3b600 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.
3b620 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
3b640 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.
3b660 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,.
3b680 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
3b6a0 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
3b6c0 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
3b6e0 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
3b700 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
3b720 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.
3b740 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,
3b760 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
3b780 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
3b7a0 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
3b7c0 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.
3b7e0 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
3b800 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.
3b820 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
3b840 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
3b860 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...
3b880 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...
3b8a0 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
3b8c0 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.
3b8e0 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
3b900 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
3b920 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
3b940 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
3b960 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
3b980 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
3b9a0 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.
3b9c0 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
3b9e0 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
3ba00 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
3ba20 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
3ba40 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
3ba60 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.
3ba80 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
3baa0 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
3bac0 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.
3bae0 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.....
3bb00 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
3bb20 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
3bb40 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
3bb60 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.
3bb80 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
3bba0 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
3bbc0 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
3bbe0 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
3bc00 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
3bc20 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
3bc40 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
3bc60 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
3bc80 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.
3bca0 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
3bcc0 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........
3bce0 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
3bd00 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
3bd20 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
3bd40 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
3bd60 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.
3bd80 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
3bda0 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
3bdc0 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
3bde0 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
3be00 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
3be20 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.
3be40 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
3be60 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.
3be80 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
3bea0 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
3bec0 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
3bee0 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
3bf00 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
3bf20 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
3bf40 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.(
3bf60 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>.....
3bf80 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:.
3bfa0 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
3bfc0 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.
3bfe0 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
3c000 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
3c020 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.
3c040 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
3c060 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.....
3c080 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
3c0a0 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
3c0c0 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;.
3c0e0 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
3c100 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
3c120 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
3c140 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
3c160 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
3c180 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.
3c1a0 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..
3c1c0 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.
3c1e0 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
3c200 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.
3c220 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
3c240 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
3c260 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,
3c280 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
3c2a0 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
3c2c0 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>..
3c2e0 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
3c300 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
3c320 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
3c340 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
3c360 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
3c380 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
3c3a0 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
3c3c0 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
3c3e0 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
3c400 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
3c420 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
3c440 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
3c460 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
3c480 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
3c4a0 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
3c4c0 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.
3c4e0 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
3c500 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
3c520 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
3c540 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
3c560 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
3c580 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.
3c5a0 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
3c5c0 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
3c5e0 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
3c600 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
3c620 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
3c640 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
3c660 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.
3c680 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...
3c6a0 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,.
3c6c0 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
3c6e0 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
3c700 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
3c720 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
3c740 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>.....................
3c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c800 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/................
3c820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c860 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
3c880 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...
3c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c900 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...................
3c920 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...................
3c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca00 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.............
3ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca60 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
3ca80 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...
3caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb00 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...................
3cb20 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...................
3cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc00 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
3cc20 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
3cc40 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
3cc60 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.
3cc80 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
3cca0 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.
3ccc0 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
3cce0 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
3cd00 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
3cd20 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
3cd40 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.
3cd60 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,
3cd80 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
3cda0 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
3cdc0 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
3cde0 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.
3ce00 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
3ce20 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
3ce40 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
3ce60 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
3ce80 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
3cea0 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
3cec0 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`
3cee0 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
3cf00 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
3cf20 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)
3cf40 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
3cf60 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
3cf80 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
3cfa0 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.
3cfc0 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
3cfe0 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`.
3d000 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.`-
3d020 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
3d040 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
3d060 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.`
3d080 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
3d0a0 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
3d0c0 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
3d0e0 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
3d100 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.
3d120 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
3d140 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
3d160 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
3d180 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.
3d1a0 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
3d1c0 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
3d1e0 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
3d200 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
3d220 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
3d240 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
3d260 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
3d280 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
3d2a0 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
3d2c0 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.
3d2e0 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
3d300 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,
3d320 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`...
3d340 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
3d360 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
3d380 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
3d3a0 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
3d3c0 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
3d3e0 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)...-
3d400 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.
3d420 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..
3d440 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
3d460 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
3d480 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`,.`-
3d4a0 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-
3d4c0 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
3d4e0 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
3d500 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`
3d520 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.`->
3d540 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
3d560 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
3d580 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-
3d5a0 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
3d5c0 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
3d5e0 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
3d600 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
3d620 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
3d640 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
3d660 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
3d680 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
3d6a0 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
3d6c0 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
3d6e0 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
3d700 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
3d720 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`
3d740 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`...
3d760 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
3d780 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.
3d7a0 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
3d7c0 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
3d7e0 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
3d800 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.
3d820 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.
3d840 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
3d860 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-
3d880 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-
3d8a0 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))...```..-.
3d8c0 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
3d8e0 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
3d900 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
3d920 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
3d940 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...
3d960 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
3d980 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/
3d9a0 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
3d9c0 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
3d9e0 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
3da00 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.
3da20 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
3da40 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
3da60 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
3da80 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..
3daa0 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-
3dac0 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
3dae0 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-
3db00 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
3db20 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.`-
3db40 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,.#
3db60 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
3db80 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
3dba0 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
3dbc0 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
3dbe0 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
3dc00 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
3dc20 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.
3dc40 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
3dc60 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.
3dc80 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
3dca0 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
3dcc0 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
3dce0 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
3dd00 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
3dd20 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
3dd40 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
3dd60 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
3dd80 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
3dda0 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.
3ddc0 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...(
3dde0 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
3de00 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
3de20 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
3de40 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.`-
3de60 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
3de80 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
3dea0 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
3dec0 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
3dee0 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
3df00 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
3df20 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,.
3df40 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
3df60 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
3df80 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
3dfa0 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)..-
3dfc0 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
3dfe0 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
3e000 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
3e020 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
3e040 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
3e060 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
3e080 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)..
3e0a0 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.
3e0c0 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.`
3e0e0 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
3e100 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-
3e120 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
3e140 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.
3e160 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.
3e180 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..
3e1a0 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.
3e1c0 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
3e1e0 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
3e200 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
3e220 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
3e240 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
3e260 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.
3e280 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
3e2a0 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[
3e2c0 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.
3e2e0 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
3e300 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.
3e320 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).
3e340 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
3e360 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
3e380 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
3e3a0 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
3e3c0 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
3e3e0 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..
3e400 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
3e420 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
3e440 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.
3e460 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.
3e480 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
3e4a0 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`.
3e4c0 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
3e4e0 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.(
3e500 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
3e520 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
3e540 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
3e560 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.<
3e580 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,
3e5a0 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
3e5c0 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
3e5e0 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
3e600 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
3e620 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.`-
3e640 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-
3e660 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
3e680 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..-
3e6a0 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
3e6c0 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
3e6e0 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...###.
3e700 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
3e720 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
3e740 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
3e760 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
3e780 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
3e7a0 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)...##
3e7c0 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
3e7e0 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
3e800 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
3e820 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
3e840 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
3e860 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`
3e880 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`
3e8a0 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
3e8c0 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`...##
3e8e0 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.
3e900 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
3e920 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
3e940 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
3e960 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`
3e980 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
3e9a0 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`
3e9c0 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
3e9e0 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.
3ea00 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
3ea20 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
3ea40 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.
3ea60 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.`
3ea80 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`,
3eaa0 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
3eac0 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`)
3eae0 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.
3eb00 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`,.
3eb20 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)
3eb40 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
3eb60 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
3eb80 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.
3eba0 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
3ebc0 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
3ebe0 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
3ec00 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
3ec20 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
3ec40 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.
3ec60 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).
3ec80 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
3eca0 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
3ecc0 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)...
3ece0 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
3ed00 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
3ed20 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
3ed40 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`
3ed60 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.
3ed80 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
3eda0 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.
3edc0 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
3ede0 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
3ee00 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`,.
3ee20 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.`
3ee40 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.`
3ee60 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.`-
3ee80 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
3eea0 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
3eec0 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
3eee0 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
3ef00 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)...
3ef20 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
3ef40 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
3ef60 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
3ef80 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
3efa0 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)..
3efc0 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.`-
3efe0 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
3f000 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
3f020 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.
3f040 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
3f060 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
3f080 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
3f0a0 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)
3f0c0 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.
3f0e0 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.
3f100 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
3f120 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*`.(
3f140 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
3f160 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
3f180 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
3f1a0 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
3f1c0 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
3f1e0 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
3f200 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.
3f220 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
3f240 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.
3f260 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
3f280 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
3f2a0 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
3f2c0 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
3f2e0 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.
3f300 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
3f320 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
3f340 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
3f360 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.
3f380 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
3f3a0 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
3f3c0 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/>............
3f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f400 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......
3f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f460 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
3f480 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...
3f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f500 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...................
3f520 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...................
3f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f600 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
3f620 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\\).?\\)?
3f640 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
3f660 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
3f680 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/%
3f6a0 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
3f6c0 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
3f6e0 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.
3f700 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
3f720 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
3f740 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
3f760 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.
3f780 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
3f7a0 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)))..........................
3f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f800 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...........
3f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f860 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
3f880 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...
3f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f900 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...................
3f920 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...................
3f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa00 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
3fa20 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
3fa40 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
3fa60 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.
3fa80 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
3faa0 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
3fac0 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
3fae0 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
3fb00 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
3fb20 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
3fb40 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
3fb60 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......
3fb80 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
3fba0 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
3fbc0 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
3fbe0 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
3fc00 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
3fc20 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
3fc40 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
3fc60 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
3fc80 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
3fca0 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.
3fcc0 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-
3fce0 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
3fd00 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
3fd20 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.
3fd40 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.
3fd60 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.
3fd80 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...
3fda0 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
3fdc0 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
3fde0 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.
3fe00 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
3fe20 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
3fe40 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
3fe60 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
3fe80 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..
3fea0 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
3fec0 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
3fee0 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..
3ff00 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
3ff20 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.
3ff40 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......
3ff60 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::.......
3ff80 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
3ffa0 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
3ffc0 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::...
3ffe0 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
40000 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::....
40020 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
40040 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::........
40060 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.
40080 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::....
400a0 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
400c0 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
400e0 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
40100 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
40120 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
40140 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
40160 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
40180 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.
401a0 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
401c0 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..*.
401e0 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
40200 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
40220 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
40240 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
40260 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
40280 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
402a0 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
402c0 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
402e0 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::..
40300 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::.....
40320 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
40340 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
40360 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,..
40380 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
403a0 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
403c0 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.
403e0 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:
40400 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
40420 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/),.
40440 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/),.
40460 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
40480 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
404a0 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
404c0 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
404e0 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
40500 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
40520 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
40540 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..
40560 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
40580 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
405a0 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
405c0 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
405e0 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
40600 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
40620 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
40640 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
40660 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
40680 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:.
406a0 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
406c0 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
406e0 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.==================
40700 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
40720 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
40740 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
40760 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
40780 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
407a0 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"
407c0 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
407e0 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
40800 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
40820 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
40840 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
40860 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.=========
40880 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
408a0 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
408c0 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
408e0 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
40900 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...,..
40920 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
40940 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
40960 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
40980 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.
409a0 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
409c0 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
409e0 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
40a00 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
40a20 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
40a40 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
40a60 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
40a80 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
40aa0 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...:....
40ac0 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)...
40ae0 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
40b00 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
40b20 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
40b40 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.
40b60 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
40b80 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
40ba0 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
40bc0 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
40be0 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
40c00 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::).
40c20 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
40c40 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
40c60 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.
40c80 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,.
40ca0 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
40cc0 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:..
40ce0 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
40d00 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
40d20 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
40d40 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
40d60 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
40d80 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.***********.
40da0 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
40dc0 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.
40de0 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
40e00 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
40e20 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
40e40 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
40e60 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
40e80 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
40ea0 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
40ec0 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
40ee0 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
40f00 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......
40f20 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
40f40 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
40f60 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
40f80 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....
40fa0 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.
40fc0 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
40fe0 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.
41000 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
41020 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)
41040 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.
41060 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
41080 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.
410a0 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).....
410c0 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
410e0 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
41100 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
41120 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.
41140 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).....
41160 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
41180 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.
411a0 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)).........
411c0 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
411e0 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.
41200 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
41220 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
41240 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
41260 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::
41280 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
412a0 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
412c0 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:
412e0 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
41300 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,
41320 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:.
41340 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
41360 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.
41380 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.
413a0 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
413c0 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
413e0 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
41400 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
41420 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
41440 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
41460 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
41480 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...
414a0 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....--
414c0 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
414e0 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)).
41500 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)....
41520 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))...
41540 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).......
41560 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))
41580 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)...
415a0 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
415c0 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
415e0 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
41600 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
41620 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
41640 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
41660 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.
41680 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........
416a0 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........
416c0 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
416e0 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
41700 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
41720 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).
41740 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).(
41760 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))............
41780 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
417a0 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)).
417c0 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)...-
417e0 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
41800 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
41820 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
41840 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
41860 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
41880 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
418a0 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
418c0 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
418e0 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))...
41900 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).......
41920 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.
41940 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)).................
41960 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
41980 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))......
419a0 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
419c0 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)
419e0 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.
41a00 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
41a20 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.....
41a40 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
41a60 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
41a80 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:
41aa0 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?.
41ac0 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)).............
41ae0 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
41b00 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.
41b20 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
41b40 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
41b60 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))................
41b80 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
41ba0 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
41bc0 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
41be0 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
41c00 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....(
41c20 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.
41c40 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
41c60 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
41c80 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.......
41ca0 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
41cc0 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....
41ce0 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
41d00 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..
41d20 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::)..
41d40 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
41d60 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)).'(
41d80 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
41da0 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.(
41dc0 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))......
41de0 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)..........
41e00 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))..
41e20 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)...--
41e40 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)..
41e60 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.
41e80 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
41ea0 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
41ec0 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
41ee0 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+
41f00 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
41f20 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))..........
41f40 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"."
41f60 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"))).
41f80 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
41fa0 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")).
41fc0 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).'
41fe0 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
42000 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
42020 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.
42040 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
42060 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
42080 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....
420a0 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
420c0 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
420e0 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
42100 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..
42120 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
42140 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
42160 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
42180 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
421a0 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......
421c0 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::).........
421e0 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).(
42200 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))..........
42220 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)..........
42240 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
42260 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.
42280 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.(
422a0 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
422c0 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
422e0 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)))...................((
42300 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).(
42320 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
42340 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)...
42360 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
42380 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...
423a0 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
423c0 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...
423e0 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::)......
42400 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.'(
42420 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)).............
42440 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
42460 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
42480 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)....
424a0 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.
424c0 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)).......
424e0 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
42500 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
42520 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
42540 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....
42560 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
42580 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
425a0 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))...................
425c0 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
425e0 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
42600 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.
42620 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
42640 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))...................(
42660 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
42680 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
426a0 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.'
426c0 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.
426e0 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)))
42700 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)))..............
42720 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
42740 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
42760 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
42780 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
427a0 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
427c0 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.
427e0 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
42800 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.
42820 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
42840 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
42860 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......
42880 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
428a0 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.....
428c0 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
428e0 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:
42900 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
42920 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
42940 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))).
42960 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
42980 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
429a0 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))................
429c0 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.(
429e0 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)).......
42a00 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:
42a20 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
42a40 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
42a60 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.....
42a80 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
42aa0 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
42ac0 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...........
42ae0 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
42b00 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
42b20 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
42b40 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
42b60 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.
42b80 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)...
42ba0 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.
42bc0 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
42be0 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.(%
42c00 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)).............
42c20 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
42c40 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
42c60 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
42c80 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
42ca0 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
42cc0 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..
42ce0 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
42d00 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..
42d20 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
42d40 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
42d60 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
42d80 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...........
42da0 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
42dc0 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....
42de0 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...
42e00 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
42e20 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
42e40 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....(*
42e60 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::)............
42e80 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.-
42ea0 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.
42ec0 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
42ee0 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
42f00 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
42f20 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.(
42f40 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)).........
42f60 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
42f80 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)...
42fa0 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
42fc0 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
42fe0 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.
43000 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
43020 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
43040 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
43060 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
43080 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.......
430a0 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
430c0 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
430e0 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::)
43100 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
43120 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::).............(-
43140 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.
43160 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))...................(
43180 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
431a0 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".
431c0 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.
431e0 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
43200 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.
43220 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.
43240 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
43260 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
43280 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
432a0 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
432c0 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..
432e0 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.'(
43300 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))...............
43320 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
43340 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))
43360 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)....
43380 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
433a0 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"))........
433c0 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")...--.
433e0 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
43400 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
43420 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
43440 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.
43460 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
43480 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.'(
434a0 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)
434c0 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.()).......
434e0 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
43500 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
43520 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
43540 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
43560 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
43580 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
435a0 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
435c0 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
435e0 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.
43600 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
43620 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..........
43640 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)......
43660 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)..........
43680 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)......
436a0 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)...........(
436c0 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
436e0 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).
43700 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)...
43720 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.
43740 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
43760 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
43780 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.
437a0 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:...
437c0 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
437e0 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
43800 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)
43820 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
43840 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)
43860 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)
43880 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
438a0 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
438c0 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
438e0 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
43900 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.
43920 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
43940 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
43960 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:
43980 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
439a0 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.
439c0 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.'(
439e0 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
43a00 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.
43a20 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)).................
43a40 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
43a60 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.
43a80 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.
43aa0 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
43ac0 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
43ae0 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
43b00 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
43b20 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.
43b40 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
43b60 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))................
43b80 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
43ba0 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))...................().
43bc0 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))
43be0 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)..
43c00 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
43c20 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
43c40 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
43c60 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.
43c80 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
43ca0 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.....
43cc0 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.
43ce0 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
43d00 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))................
43d20 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
43d40 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)).................
43d60 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
43d80 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.
43da0 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
43dc0 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
43de0 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
43e00 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
43e20 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
43e40 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
43e60 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.
43e80 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..
43ea0 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
43ec0 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...
43ee0 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
43f00 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
43f20 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::)...
43f40 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?.'
43f60 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))...................().
43f80 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?.'
43fa0 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.
43fc0 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
43fe0 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))...........
44000 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:.-
44020 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
44040 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.
44060 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......
44080 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
440a0 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
440c0 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
440e0 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
44100 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.
44120 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....
44140 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
44160 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
44180 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::)....
441a0 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?.'(
441c0 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
441e0 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
44200 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))................
44220 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
44240 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)).....
44260 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
44280 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
442a0 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
442c0 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
442e0 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
44300 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....
44320 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
44340 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"
44360 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"))..
44380 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
443a0 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
443c0 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"))...
443e0 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")...
44400 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.
44420 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"
44440 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
44460 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
44480 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
444a0 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
444c0 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
444e0 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
44500 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.
44520 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....
44540 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
44560 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
44580 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
445a0 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.
445c0 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
445e0 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-
44600 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
44620 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.
44640 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))).................
44660 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)).........
44680 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
446a0 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)))..........
446c0 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)).........
446e0 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)
44700 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)))...........
44720 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
44740 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
44760 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
44780 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
447a0 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
447c0 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
447e0 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........
44800 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
44820 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
44840 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.-
44860 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
44880 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-
448a0 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
448c0 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
448e0 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
44900 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
44920 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
44940 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,.
44960 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
44980 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
449a0 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
449c0 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.(
449e0 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.
44a00 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
44a20 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.
44a40 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
44a60 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
44a80 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
44aa0 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.....
44ac0 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
44ae0 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.............
44b00 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).
44b20 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).(
44b40 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)
44b60 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
44b80 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
44ba0 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.(>.
44bc0 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))
44be0 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)...
44c00 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
44c20 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
44c40 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
44c60 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.....
44c80 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))..........
44ca0 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.
44cc0 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.
44ce0 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
44d00 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
44d20 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).
44d40 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
44d60 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
44d80 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
44da0 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
44dc0 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
44de0 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.
44e00 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
44e20 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
44e40 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...
44e60 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
44e80 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
44ea0 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........
44ec0 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
44ee0 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...
44f00 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...
44f20 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....
44f40 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::)............
44f60 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)))...............
44f80 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
44fa0 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)))))))...........
44fc0 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)...........(-
44fe0 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))).........
45000 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
45020 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)....
45040 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
45060 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
45080 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::)........
450a0 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)
450c0 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
450e0 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
45100 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))
45120 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.(
45140 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.'(
45160 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))))).........
45180 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
451a0 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)..
451c0 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
451e0 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
45200 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..........
45220 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
45240 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::)............(-
45260 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)).
45280 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
452a0 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".
452c0 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
452e0 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")).............
45300 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
45320 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
45340 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)..................
45360 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
45380 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
453a0 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.
453c0 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.
453e0 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.........
45400 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
45420 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
45440 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
45460 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.
45480 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
454a0 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
454c0 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"))....
454e0 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"
45500 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")......
45520 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)...
45540 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
45560 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).
45580 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
455a0 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........
455c0 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
455e0 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
45600 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::)....
45620 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
45640 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))..................
45660 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
45680 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
456a0 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
456c0 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
456e0 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
45700 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
45720 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...--
45740 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)
45760 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
45780 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.....
457a0 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
457c0 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...
457e0 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::)....
45800 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
45820 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)..
45840 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
45860 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)
45880 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
458a0 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
458c0 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
458e0 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:.
45900 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::
45920 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.'(
45940 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))...................
45960 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
45980 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))........
459a0 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)........
459c0 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.
459e0 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
45a00 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
45a20 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
45a40 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
45a60 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.
45a80 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
45aa0 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
45ac0 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.(
45ae0 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.
45b00 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
45b20 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
45b40 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))
45b60 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)
45b80 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
45ba0 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"
45bc0 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
45be0 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
45c00 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
45c20 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
45c40 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:.
45c60 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.
45c80 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::),.........-
45ca0 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::).....
45cc0 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"."
45ce0 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"))................
45d00 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")........
45d20 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"."
45d40 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"))...................(
45d60 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")...........(
45d80 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"."
45da0 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".
45dc0 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:.
45de0 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
45e00 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
45e20 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
45e40 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....
45e60 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
45e80 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
45ea0 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::),..
45ec0 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
45ee0 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
45f00 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
45f20 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"."
45f40 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
45f60 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"
45f80 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"))..................
45fa0 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
45fc0 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
45fe0 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")).................
46000 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
46020 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,.
46040 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
46060 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
46080 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.
460a0 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
460c0 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)....-
460e0 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
46100 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
46120 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
46140 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.
46160 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
46180 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
461a0 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.
461c0 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
461e0 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
46200 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
46220 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...
46240 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
46260 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...
46280 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.........-
462a0 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::).
462c0 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
462e0 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..
46300 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
46320 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))...................(((
46340 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-
46360 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"
46380 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"))................
463a0 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:.
463c0 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)...
463e0 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
46400 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.
46420 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.
46440 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.
46460 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
46480 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
464a0 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
464c0 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
464e0 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
46500 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
46520 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....
46540 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
46560 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.
46580 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
465a0 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
465c0 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
465e0 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
46600 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
46620 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
46640 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
46660 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
46680 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
466a0 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
466c0 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.....
466e0 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
46700 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
46720 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......
46740 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..
46760 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:
46780 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
467a0 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
467c0 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))........
467e0 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
46800 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)).....
46820 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)))....
46840 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.
46860 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")
46880 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".
468a0 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)
468c0 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
468e0 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.
46900 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
46920 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
46940 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
46960 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
46980 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
469a0 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.
469c0 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
469e0 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
46a00 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
46a20 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
46a40 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
46a60 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
46a80 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
46aa0 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::)..
46ac0 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.
46ae0 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........
46b00 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))..
46b20 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)..
46b40 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-%
46b60 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))............
46b80 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
46ba0 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
46bc0 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
46be0 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
46c00 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
46c20 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.
46c40 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
46c60 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,
46c80 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
46ca0 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
46cc0 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
46ce0 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
46d00 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
46d20 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..
46d40 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
46d60 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.
46d80 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
46da0 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
46dc0 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
46de0 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
46e00 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...
46e20 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
46e40 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....
46e60 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
46e80 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...
46ea0 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.
46ec0 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
46ee0 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.....
46f00 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
46f20 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.....
46f40 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.
46f60 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
46f80 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
46fa0 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::)..........
46fc0 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))...
46fe0 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
47000 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))......
47020 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)))......
47040 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"
47060 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))..............
47080 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
470a0 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).....
470c0 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
470e0 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
47100 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
47120 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
47140 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....(
47160 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
47180 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
471a0 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...
471c0 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....--
471e0 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
47200 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
47220 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.
47240 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.
47260 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
47280 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
472a0 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)
472c0 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.#'*
472e0 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))..................
47300 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
47320 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)".
47340 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))........
47360 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)"
47380 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.(
473a0 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
473c0 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
473e0 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
47400 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.
47420 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
47440 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
47460 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.........-
47480 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-
474a0 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.
474c0 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....
474e0 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.
47500 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
47520 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,
47540 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
47560 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
47580 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
475a0 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-
475c0 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))......
475e0 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)........
47600 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
47620 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
47640 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
47660 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
47680 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))..........
476a0 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
476c0 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.
476e0 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:.
47700 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
47720 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.
47740 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...
47760 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
47780 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
477a0 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
477c0 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
477e0 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........
47800 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
47820 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......
47840 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..
47860 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
47880 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
478a0 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::).....
478c0 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
478e0 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
47900 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
47920 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.
47940 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
47960 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
47980 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
479a0 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
479c0 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)..
479e0 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
47a00 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
47a20 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
47a40 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
47a60 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
47a80 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
47aa0 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..
47ac0 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
47ae0 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.
47b00 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.
47b20 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
47b40 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
47b60 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
47b80 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::)....
47ba0 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.
47bc0 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.
47be0 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.#'
47c00 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))...................
47c20 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
47c40 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
47c60 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))...................
47c80 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)
47ca0 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
47cc0 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
47ce0 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.
47d00 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
47d20 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))................
47d40 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)
47d60 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
47d80 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).....
47da0 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.........
47dc0 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.())...................
47de0 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)).........
47e00 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.
47e20 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...-
47e40 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).
47e60 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.
47e80 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
47ea0 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.............
47ec0 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)).......
47ee0 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)..........
47f00 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))............
47f20 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
47f40 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
47f60 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...
47f80 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)....
47fa0 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....
47fc0 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.())..........
47fe0 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.'
48000 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........
48020 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))........
48040 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
48060 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
48080 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
480a0 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...
480c0 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
480e0 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))..........
48100 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)...........(-
48120 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))...........
48140 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-
48160 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.
48180 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
481a0 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).
481c0 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
481e0 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))
48200 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
48220 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))...........(
48240 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
48260 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)).....
48280 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
482a0 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
482c0 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...........
482e0 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))............
48300 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).
48320 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).
48340 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).........
48360 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)).................
48380 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
483a0 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
483c0 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
483e0 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
48400 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)..
48420 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).
48440 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))..................
48460 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.'(
48480 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)).......
484a0 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:
484c0 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)...
484e0 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
48500 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
48520 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))..................
48540 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.'
48560 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))............
48580 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
485a0 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)).
485c0 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
485e0 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
48600 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
48620 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.............(-
48640 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...
48660 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)).........
48680 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.
486a0 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
486c0 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
486e0 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
48700 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
48720 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
48740 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
48760 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....
48780 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
487a0 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.
487c0 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
487e0 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))..............
48800 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
48820 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
48840 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
48860 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
48880 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)
488a0 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)))...................(
488c0 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)...
488e0 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
48900 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.....
48920 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)).............
48940 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)
48960 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...........
48980 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)).................
489a0 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
489c0 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
489e0 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
48a00 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.
48a20 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
48a40 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
48a60 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::
48a80 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
48aa0 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.....
48ac0 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)).
48ae0 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...........(-
48b00 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))
48b20 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)))..........
48b40 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-
48b60 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)
48b80 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))).........
48ba0 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
48bc0 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
48be0 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
48c00 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
48c20 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.
48c40 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
48c60 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
48c80 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
48ca0 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.
48cc0 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.
48ce0 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.
48d00 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
48d20 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
48d40 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))....)......
48d60 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
48d80 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+
48da0 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.
48dc0 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
48de0 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)...
48e00 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)...
48e20 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
48e40 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.
48e60 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
48e80 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.
48ea0 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
48ec0 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..
48ee0 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....
48f00 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
48f20 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
48f40 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
48f60 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
48f80 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..
48fa0 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..
48fc0 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
48fe0 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
49000 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
49020 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...
49040 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).(
49060 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))))
49080 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
490a0 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
490c0 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))).'
490e0 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
49100 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))......
49120 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
49140 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)).....
49160 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)
49180 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
491a0 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
491c0 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,..
491e0 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.==
49200 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.
49220 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
49240 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
49260 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.
49280 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
492a0 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........
492c0 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
492e0 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
49300 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
49320 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)).......
49340 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.
49360 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".
49380 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"))...................
493a0 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.
493c0 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
493e0 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
49400 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
49420 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
49440 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.
49460 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
49480 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
494a0 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
494c0 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
494e0 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
49500 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...
49520 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
49540 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
49560 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.....
49580 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
495a0 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........
495c0 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.
495e0 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.........
49600 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
49620 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"))..............
49640 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.
49660 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)).............
49680 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?.(
496a0 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
496c0 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
496e0 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
49700 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
49720 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.
49740 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.
49760 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
49780 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....
497a0 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))..
497c0 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
497e0 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
49800 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
49820 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.....
49840 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
49860 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
49880 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
498a0 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
498c0 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....
498e0 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
49900 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.
49920 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.
49940 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
49960 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-
49980 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?
499a0 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
499c0 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?.
499e0 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.
49a00 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...
49a20 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
49a40 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........
49a60 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.
49a80 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
49aa0 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
49ac0 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
49ae0 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
49b00 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...............(-
49b20 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))..........
49b40 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?.'
49b60 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)).................
49b80 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
49ba0 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)).................
49bc0 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?
49be0 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...
49c00 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
49c20 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
49c40 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
49c60 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
49c80 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.
49ca0 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
49cc0 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:..
49ce0 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
49d00 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))......
49d20 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-
49d40 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))..........
49d60 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
49d80 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))............
49da0 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
49dc0 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.
49de0 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
49e00 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
49e20 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.
49e40 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..
49e60 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
49e80 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
49ea0 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)...................
49ec0 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)
49ee0 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.........
49f00 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).......
49f20 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:.-
49f40 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
49f60 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.
49f80 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.
49fa0 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
49fc0 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
49fe0 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
4a000 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))......
4a020 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-
4a040 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)).......
4a060 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
4a080 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))......
4a0a0 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:.
4a0c0 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
4a0e0 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
4a100 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
4a120 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
4a140 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))....
4a160 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-
4a180 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))..
4a1a0 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...........(
4a1c0 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))
4a1e0 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
4a200 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).
4a220 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
4a240 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:.
4a260 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................(
4a280 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
4a2a0 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..........
4a2c0 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
4a2e0 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......
4a300 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
4a320 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...-
4a340 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
4a360 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
4a380 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
4a3a0 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.....
4a3c0 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.........
4a3e0 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
4a400 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....
4a420 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.
4a440 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...
4a460 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
4a480 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..
4a4a0 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).
4a4c0 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.
4a4e0 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
4a500 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
4a520 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-
4a540 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?.'(
4a560 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.....
4a580 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))......
4a5a0 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
4a5c0 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))...................
4a5e0 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
4a600 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
4a620 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
4a640 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.=========
4a660 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.
4a680 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
4a6a0 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
4a6c0 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.
4a6e0 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..
4a700 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
4a720 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
4a740 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
4a760 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
4a780 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.....
4a7a0 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
4a7c0 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
4a7e0 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.
4a800 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
4a820 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
4a840 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
4a860 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.
4a880 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.
4a8a0 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
4a8c0 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)).................
4a8e0 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)...........(-
4a900 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))........
4a920 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))...-
4a940 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
4a960 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
4a980 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.
4a9a0 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
4a9c0 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.....
4a9e0 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.
4aa00 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.(
4aa20 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
4aa40 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)).............
4aa60 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))...........(-
4aa80 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
4aaa0 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
4aac0 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-
4aae0 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
4ab00 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......
4ab20 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
4ab40 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
4ab60 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
4ab80 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
4aba0 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
4abc0 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.....
4abe0 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...
4ac00 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::)..........
4ac20 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.|
4ac40 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]))................
4ac60 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
4ac80 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
4aca0 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
4acc0 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"))..................
4ace0 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"))....
4ad00 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
4ad20 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
4ad40 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")
4ad60 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
4ad80 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.
4ada0 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
4adc0 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....-
4ade0 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
4ae00 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
4ae20 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
4ae40 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
4ae60 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
4ae80 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.
4aea0 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
4aec0 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-
4aee0 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)).....
4af00 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)).....
4af20 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.
4af40 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))...................((
4af60 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
4af80 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))
4afa0 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)
4afc0 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)
4afe0 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
4b000 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
4b020 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
4b040 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.
4b060 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
4b080 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
4b0a0 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))........
4b0c0 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))..
4b0e0 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).'(
4b100 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)).............
4b120 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))...
4b140 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).
4b160 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)))...............
4b180 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))).
4b1a0 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
4b1c0 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
4b1e0 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-
4b200 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
4b220 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.
4b240 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
4b260 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.............(
4b280 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))....
4b2a0 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
4b2c0 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
4b2e0 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))...................(
4b300 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
4b320 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))....
4b340 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))
4b360 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.(
4b380 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
4b3a0 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
4b3c0 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
4b3e0 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.
4b400 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-
4b420 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))...........
4b440 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)).....
4b460 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.
4b480 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.
4b4a0 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))...........(-
4b4c0 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)
4b4e0 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.
4b500 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
4b520 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)......
4b540 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
4b560 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...
4b580 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
4b5a0 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
4b5c0 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-
4b5e0 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
4b600 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
4b620 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))...............
4b640 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)).........
4b660 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
4b680 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
4b6a0 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
4b6c0 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)).............
4b6e0 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
4b700 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.(
4b720 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
4b740 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
4b760 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
4b780 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
4b7a0 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
4b7c0 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
4b7e0 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))...
4b800 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.
4b820 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
4b840 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))......
4b860 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))....
4b880 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.
4b8a0 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))...............
4b8c0 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
4b8e0 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)
4b900 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
4b920 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
4b940 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.........
4b960 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?.())...
4b980 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
4b9a0 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
4b9c0 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
4b9e0 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))..........
4ba00 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.
4ba20 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))...................((
4ba40 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
4ba60 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
4ba80 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
4baa0 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
4bac0 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
4bae0 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
4bb00 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
4bb20 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
4bb40 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
4bb60 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
4bb80 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.
4bba0 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).(
4bbc0 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
4bbe0 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.
4bc00 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)).................
4bc20 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)).....
4bc40 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
4bc60 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))....
4bc80 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
4bca0 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
4bcc0 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)...
4bce0 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
4bd00 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-
4bd20 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
4bd40 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
4bd60 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................(
4bd80 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
4bda0 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 .())...................().......
4bdc0 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
4bde0 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))...................
4be00 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-
4be20 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.
4be40 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)
4be60 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
4be80 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)...
4bea0 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
4bec0 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
4bee0 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
4bf00 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.()
4bf20 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 )...................()..........
4bf40 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
4bf60 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))...................((
4bf80 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
4bfa0 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
4bfc0 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
4bfe0 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
4c000 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)..
4c020 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
4c040 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....
4c060 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
4c080 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.())...................().....
4c0a0 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.
4c0c0 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))...
4c0e0 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.
4c100 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)).
4c120 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-
4c140 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.
4c160 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
4c180 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
4c1a0 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.())..........
4c1c0 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
4c1e0 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))............
4c200 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
4c220 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))...........
4c240 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
4c260 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
4c280 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
4c2a0 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
4c2c0 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.
4c2e0 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-
4c300 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?.())...................
4c320 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?.'
4c340 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))............
4c360 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
4c380 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.
4c3a0 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"."
4c3c0 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"))...................(
4c3e0 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"))..
4c400 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
4c420 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,.
4c440 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
4c460 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.============..
4c480 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.
4c4a0 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
4c4c0 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
4c4e0 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
4c500 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.
4c520 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......
4c540 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,
4c560 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.....
4c580 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
4c5a0 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)).............
4c5c0 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."
4c5e0 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"))......
4c600 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-
4c620 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
4c640 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
4c660 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
4c680 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
4c6a0 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
4c6c0 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
4c6e0 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
4c700 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)).....
4c720 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)...........(-
4c740 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"
4c760 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)..
4c780 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).'
4c7a0 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))....
4c7c0 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
4c7e0 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).....
4c800 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
4c820 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
4c840 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
4c860 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
4c880 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..
4c8a0 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
4c8c0 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-
4c8e0 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))
4c900 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...........(
4c920 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.
4c940 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...
4c960 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.'
4c980 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
4c9a0 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...
4c9c0 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
4c9e0 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.
4ca00 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
4ca20 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
4ca40 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
4ca60 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
4ca80 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....-
4caa0 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::).........
4cac0 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
4cae0 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))................
4cb00 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
4cb20 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))..
4cb40 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
4cb60 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
4cb80 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")
4cba0 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
4cbc0 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)..
4cbe0 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
4cc00 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
4cc20 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.
4cc40 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
4cc60 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)).....
4cc80 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).........
4cca0 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
4ccc0 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))..................
4cce0 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.
4cd00 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").'
4cd20 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"))............
4cd40 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
4cd60 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
4cd80 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
4cda0 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.....
4cdc0 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
4cde0 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.
4ce00 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
4ce20 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.
4ce40 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))...................
4ce60 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.(
4ce80 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
4cea0 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)).
4cec0 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
4cee0 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
4cf00 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
4cf20 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
4cf40 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
4cf60 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.
4cf80 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
4cfa0 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......
4cfc0 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.
4cfe0 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
4d000 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.'
4d020 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
4d040 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))...
4d060 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).
4d080 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:.
4d0a0 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
4d0c0 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,..
4d0e0 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
4d100 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
4d120 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....--
4d140 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)..
4d160 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
4d180 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
4d1a0 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
4d1c0 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
4d1e0 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.
4d200 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..
4d220 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.'
4d240 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))...............
4d260 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
4d280 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).())................
4d2a0 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.'
4d2c0 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)).............
4d2e0 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:
4d300 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
4d320 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
4d340 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..
4d360 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
4d380 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
4d3a0 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
4d3c0 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
4d3e0 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.().())..................
4d400 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
4d420 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))...................
4d440 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.'
4d460 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))...........
4d480 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
4d4a0 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
4d4c0 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
4d4e0 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.
4d500 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
4d520 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...
4d540 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
4d560 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...
4d580 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.().()).
4d5a0 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 ..................()...........(
4d5c0 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))
4d5e0 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 ...................()...........
4d600 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.
4d620 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)...
4d640 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)...
4d660 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.
4d680 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.())......
4d6a0 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
4d6c0 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))...............
4d6e0 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.
4d700 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:.-
4d720 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.
4d740 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........
4d760 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.()).........
4d780 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
4d7a0 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))................
4d7c0 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
4d7e0 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)).............
4d800 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).(
4d820 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
4d840 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
4d860 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
4d880 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
4d8a0 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...
4d8c0 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
4d8e0 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
4d900 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
4d920 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.())...................()...
4d940 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))..
4d960 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)........
4d980 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)).........
4d9a0 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
4d9c0 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
4d9e0 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
4da00 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
4da20 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.=
4da40 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
4da60 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
4da80 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
4daa0 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.
4dac0 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
4dae0 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
4db00 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)...........
4db20 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))..
4db40 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)
4db60 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
4db80 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.
4dba0 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
4dbc0 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))..............
4dbe0 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
4dc00 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.
4dc20 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
4dc40 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
4dc60 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............
4dc80 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).................
4dca0 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.
4dcc0 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)....
4dce0 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)...........
4dd00 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
4dd20 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
4dd40 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...
4dd60 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
4dd80 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
4dda0 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......
4ddc0 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
4dde0 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
4de00 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......
4de20 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).............
4de40 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*.
4de60 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...
4de80 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).........
4dea0 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
4dec0 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).....
4dee0 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
4df00 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.
4df20 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
4df40 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
4df60 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
4df80 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).
4dfa0 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)..
4dfc0 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).
4dfe0 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).
4e000 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.
4e020 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.
4e040 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.
4e060 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
4e080 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
4e0a0 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
4e0c0 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."-".())...................().
4e0e0 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")
4e100 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").......
4e120 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
4e140 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"."-"."
4e160 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
4e180 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
4e1a0 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
4e1c0 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.....
4e1e0 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.'(
4e200 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"))................
4e220 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
4e240 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".
4e260 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"."
4e280 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
4e2a0 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")).......
4e2c0 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
4e2e0 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.
4e300 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
4e320 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
4e340 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
4e360 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.
4e380 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.....
4e3a0 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
4e3c0 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.
4e3e0 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........
4e400 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)..................
4e420 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.
4e440 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
4e460 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
4e480 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
4e4a0 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...-
4e4c0 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.
4e4e0 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
4e500 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
4e520 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
4e540 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
4e560 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
4e580 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
4e5a0 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
4e5c0 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....--
4e5e0 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
4e600 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..
4e620 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
4e640 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...............
4e660 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)
4e680 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).....
4e6a0 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).
4e6c0 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.
4e6e0 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))...........
4e700 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
4e720 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
4e740 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"))...................
4e760 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.
4e780 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
4e7a0 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
4e7c0 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,.
4e7e0 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
4e800 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
4e820 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.
4e840 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
4e860 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
4e880 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
4e8a0 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
4e8c0 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
4e8e0 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
4e900 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....
4e920 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.
4e940 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
4e960 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
4e980 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
4e9a0 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
4e9c0 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::)
4e9e0 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
4ea00 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).
4ea20 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
4ea40 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))...........
4ea60 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)
4ea80 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
4eaa0 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.
4eac0 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.(&
4eae0 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
4eb00 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
4eb20 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
4eb40 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.
4eb60 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
4eb80 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
4eba0 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......
4ebc0 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.
4ebe0 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
4ec00 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
4ec20 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.
4ec40 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
4ec60 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
4ec80 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::)............
4eca0 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))..
4ecc0 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
4ece0 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
4ed00 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)).................
4ed20 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))...........
4ed40 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)
4ed60 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))...
4ed80 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
4eda0 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,.
4edc0 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.
4ede0 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
4ee00 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
4ee20 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
4ee40 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.............(-
4ee60 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.
4ee80 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).(
4eea0 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)).
4eec0 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)...
4eee0 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
4ef00 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
4ef20 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
4ef40 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
4ef60 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.......(
4ef80 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....)).....
4efa0 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
4efc0 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)........
4efe0 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.
4f000 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
4f020 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
4f040 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
4f060 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...
4f080 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
4f0a0 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"
4f0c0 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")))...................((
4f0e0 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"))...
4f100 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
4f120 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)))..............
4f140 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)).
4f160 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))
4f180 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.
4f1a0 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
4f1c0 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
4f1e0 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.
4f200 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
4f220 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
4f240 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.
4f260 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)))............
4f280 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
4f2a0 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)))....
4f2c0 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
4f2e0 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.'
4f300 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))................
4f320 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
4f340 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
4f360 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
4f380 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.
4f3a0 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
4f3c0 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
4f3e0 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)....
4f400 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))............
4f420 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.'
4f440 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)).................
4f460 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
4f480 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)......
4f4a0 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
4f4c0 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
4f4e0 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
4f500 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
4f520 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
4f540 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
4f560 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
4f580 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
4f5a0 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
4f5c0 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
4f5e0 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
4f600 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::)
4f620 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).
4f640 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.
4f660 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))...........
4f680 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
4f6a0 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)).
4f6c0 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))).................
4f6e0 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
4f700 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
4f720 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.
4f740 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))).(
4f760 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.
4f780 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
4f7a0 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
4f7c0 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
4f7e0 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
4f800 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
4f820 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
4f840 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.
4f860 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
4f880 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
4f8a0 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
4f8c0 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
4f8e0 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
4f900 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
4f920 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
4f940 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
4f960 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
4f980 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
4f9a0 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...
4f9c0 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....
4f9e0 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.
4fa00 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::)........
4fa20 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).
4fa40 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.
4fa60 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)
4fa80 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))...........(-
4faa0 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))
4fac0 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.
4fae0 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-
4fb00 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)))..
4fb20 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
4fb40 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
4fb60 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
4fb80 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
4fba0 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
4fbc0 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
4fbe0 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
4fc00 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..
4fc20 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,
4fc40 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:....
4fc60 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...
4fc80 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....--
4fca0 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
4fcc0 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))...............
4fce0 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.'
4fd00 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..
4fd20 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
4fd40 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
4fd60 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
4fd80 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.(
4fda0 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....
4fdc0 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
4fde0 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
4fe00 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
4fe20 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....
4fe40 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)
4fe60 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
4fe80 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"))..................."
4fea0 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
4fec0 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
4fee0 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.
4ff00 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
4ff20 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::),
4ff40 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
4ff60 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-
4ff80 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))..................
4ffa0 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)..
4ffc0 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...........(
4ffe0 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.
50000 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).....
50020 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
50040 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
50060 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
50080 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.......
500a0 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
500c0 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::).............(
500e0 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))..........
50100 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
50120 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...
50140 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).
50160 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
50180 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.
501a0 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
501c0 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::)......
501e0 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))...
50200 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
50220 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)...................
50240 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.
50260 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
50280 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
502a0 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
502c0 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::)
502e0 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
50300 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......
50320 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).........
50340 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
50360 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.
50380 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
503a0 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:
503c0 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
503e0 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.
50400 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))...................
50420 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)...
50440 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
50460 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
50480 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
504a0 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
504c0 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))...............
504e0 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)
50500 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..........
50520 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
50540 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)....
50560 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
50580 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
505a0 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
505c0 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.............(-
505e0 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))...............
50600 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.'(
50620 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).....
50640 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))...........
50660 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
50680 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
506a0 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
506c0 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.....
506e0 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
50700 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
50720 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
50740 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
50760 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
50780 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....
507a0 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))....
507c0 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)..........
507e0 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))............
50800 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
50820 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)).........
50840 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:
50860 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.
50880 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
508a0 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
508c0 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
508e0 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
50900 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
50920 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
50940 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.
50960 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
50980 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.
509a0 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
509c0 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
509e0 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.
50a00 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)...........
50a20 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.())
50a40 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 ...................()...........
50a60 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))................
50a80 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.(
50aa0 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
50ac0 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
50ae0 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.
50b00 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
50b20 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................(-
50b40 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
50b60 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)
50b80 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)))...........
50ba0 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))...........
50bc0 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
50be0 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.(-
50c00 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
50c20 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)))..
50c40 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.
50c60 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
50c80 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
50ca0 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
50cc0 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:
50ce0 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
50d00 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
50d20 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....-
50d40 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
50d60 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
50d80 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
50da0 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......
50dc0 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
50de0 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.
50e00 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
50e20 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
50e40 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
50e60 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.
50e80 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....
50ea0 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........
50ec0 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
50ee0 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
50f00 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))
50f20 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
50f40 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.
50f60 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
50f80 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).
50fa0 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))))...................
50fc0 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))
50fe0 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).....
51000 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).(
51020 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.
51040 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
51060 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.
51080 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
510a0 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
510c0 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
510e0 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
51100 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+
51120 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)))........
51140 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))
51160 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.(
51180 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
511a0 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)
511c0 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))....
511e0 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).'
51200 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>").
51220 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
51240 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
51260 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)......
51280 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
512a0 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
512c0 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
512e0 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......
51300 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
51320 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
51340 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.
51360 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
51380 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]
513a0 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.(
513c0 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
513e0 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
51400 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
51420 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
51440 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
51460 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.(
51480 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
514a0 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-
514c0 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
514e0 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
51500 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))))..............
51520 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.
51540 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
51560 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.
51580 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)))...--.
515a0 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)
515c0 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.
515e0 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
51600 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
51620 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...
51640 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
51660 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
51680 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
516a0 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
516c0 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..
516e0 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
51700 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.
51720 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.............
51740 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)
51760 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.........
51780 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
517a0 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
517c0 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
517e0 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"...........(
51800 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
51820 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.(
51840 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."
51860 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.">")))).'(
51880 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
518a0 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"))).........
518c0 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</
518e0 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</
51900 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
51920 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
51940 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
51960 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.
51980 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,.
519a0 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.
519c0 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
519e0 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
51a00 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
51a20 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
51a40 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
51a60 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.
51a80 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
51aa0 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.
51ac0 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))))..........
51ae0 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
51b00 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))
51b20 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)))....
51b40 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
51b60 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
51b80 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.
51ba0 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.
51bc0 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......
51be0 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
51c00 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.
51c20 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
51c40 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
51c60 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
51c80 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
51ca0 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.-
51cc0 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.
51ce0 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
51d00 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::)...
51d20 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.
51d40 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
51d60 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
51d80 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
51da0 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.
51dc0 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))))........
51de0 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)..
51e00 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.(+.
51e20 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.(
51e40 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.....
51e60 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
51e80 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)).
51ea0 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.
51ec0 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
51ee0 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).
51f00 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
51f20 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
51f40 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.
51f60 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
51f80 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
51fa0 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
51fc0 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
51fe0 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
52000 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.
52020 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::).....
52040 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..
52060 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...
52080 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...
520a0 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::
520c0 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
520e0 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
52100 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-
52120 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)
52140 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)))).............
52160 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
52180 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
521a0 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
521c0 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.(
521e0 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))).....
52200 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
52220 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)
52240 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)).
52260 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)))).
52280 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).".:.
522a0 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
522c0 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
522e0 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)))."{")).",.").
52300 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
52320 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.
52340 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))))).....
52360 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
52380 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},
523a0 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
523c0 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
523e0 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
52400 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
52420 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
52440 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
52460 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
52480 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.
524a0 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
524c0 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))
524e0 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)...............
52500 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
52520 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
52540 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
52560 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
52580 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.====================
525a0 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
525c0 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
525e0 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:.->
52600 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)..
52620 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.
52640 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
52660 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
52680 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
526a0 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
526c0 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
526e0 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
52700 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
52720 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)
52740 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.
52760 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
52780 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).
527a0 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)).
527c0 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
527e0 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
52800 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
52820 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
52840 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
52860 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.
52880 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
528a0 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
528c0 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.....
528e0 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.............(-
52900 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)).....
52920 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)...........
52940 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
52960 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?))..................
52980 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).(
529a0 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.'+)).....
529c0 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:.-->
529e0 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
52a00 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.
52a20 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........
52a40 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
52a60 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
52a80 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.
52aa0 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
52ac0 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
52ae0 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,.
52b00 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
52b20 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")).............
52b40 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"...........(-->
52b60 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").(
52b80 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
52ba0 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".(
52bc0 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)..
52be0 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"...-
52c00 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.&
52c20 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
52c40 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
52c60 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
52c80 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
52ca0 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
52cc0 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
52ce0 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
52d00 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
52d20 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
52d40 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
52d60 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+).
52d80 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...........(-
52da0 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)..................
52dc0 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
52de0 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
52e00 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
52e20 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....->.....
52e40 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
52e60 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.
52e80 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.............
52ea0 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))..............
52ec0 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->.
52ee0 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..
52f00 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
52f20 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
52f40 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.&
52f60 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
52f80 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
52fa0 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
52fc0 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.
52fe0 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....
53000 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->
53020 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))......
53040 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)...........(
53060 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?)
53080 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.
530a0 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
530c0 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))............
530e0 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-->.
53100 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
53120 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....-->....
53140 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.
53160 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
53180 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
531a0 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
531c0 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
531e0 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
53200 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
53220 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
53240 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
53260 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
53280 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")).............
532a0 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-->.'(
532c0 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
532e0 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))......
53300 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
53320 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
53340 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.
53360 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...
53380 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
533a0 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
533c0 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
533e0 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.
53400 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
53420 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
53440 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.............
53460 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)....
53480 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
534a0 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
534c0 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).
534e0 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
53500 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
53520 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
53540 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
53560 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
53580 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..
535a0 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
535c0 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....
535e0 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
53600 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
53620 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
53640 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
53660 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.....
53680 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
536a0 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::).
536c0 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
536e0 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")).(
53700 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))...............
53720 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
53740 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"))
53760 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"...
53780 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
537a0 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)...
537c0 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:.
537e0 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
53800 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
53820 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
53840 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
53860 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
53880 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
538a0 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
538c0 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...
538e0 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
53900 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
53920 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.
53940 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).(
53960 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))....
53980 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
539a0 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)).(+
539c0 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..
539e0 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
53a00 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
53a20 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.
53a40 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
53a60 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
53a80 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.
53aa0 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
53ac0 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
53ae0 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)........
53b00 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
53b20 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)..............
53b40 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
53b60 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.
53b80 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.
53ba0 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
53bc0 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.
53be0 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
53c00 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.......
53c20 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
53c40 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*::).
53c60 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
53c80 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
53ca0 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
53cc0 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*.(
53ce0 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
53d00 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........
53d20 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
53d40 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").............
53d60 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*.
53d80 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).....
53da0 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
53dc0 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.
53de0 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
53e00 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.
53e20 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
53e40 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
53e60 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."
53e80 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
53ea0 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
53ec0 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...
53ee0 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
53f00 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
53f20 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
53f40 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...
53f60 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
53f80 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
53fa0 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")........
53fc0 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
53fe0 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..
54000 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.
54020 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
54040 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.......
54060 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))....)...
54080 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
540a0 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....
540c0 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
540e0 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
54100 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
54120 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
54140 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.
54160 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
54180 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
541a0 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)
541c0 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
541e0 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.....
54200 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.
54220 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
54240 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.
54260 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
54280 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
542a0 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
542c0 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.....
542e0 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
54300 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
54320 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
54340 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
54360 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..
54380 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
543a0 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
543c0 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.
543e0 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
54400 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
54420 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
54440 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
54460 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
54480 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
544a0 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
544c0 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
544e0 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...).....
54500 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
54520 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,.
54540 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,......
54560 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
54580 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
545a0 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
545c0 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
545e0 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
54600 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
54620 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
54640 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...
54660 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
54680 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
546a0 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
546c0 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
546e0 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
54700 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
54720 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
54740 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
54760 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.....
54780 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).
547a0 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
547c0 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
547e0 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
54800 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
54820 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..
54840 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.
54860 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.
54880 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
548a0 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....
548c0 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......
548e0 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
54900 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..
54920 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,.
54940 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...
54960 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.
54980 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
549a0 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
549c0 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
549e0 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.
54a00 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)..
54a20 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
54a40 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
54a60 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
54a80 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
54aa0 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
54ac0 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.
54ae0 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
54b00 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
54b20 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
54b40 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
54b60 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
54b80 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
54ba0 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
54bc0 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
54be0 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
54c00 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
54c20 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
54c40 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
54c60 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.
54c80 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
54ca0 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
54cc0 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
54ce0 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
54d00 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
54d20 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
54d40 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.:
54d60 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)...
54d80 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
54da0 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...
54dc0 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
54de0 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).......
54e00 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
54e20 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
54e40 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.
54e60 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.(&
54e80 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
54ea0 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.
54ec0 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
54ee0 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......
54f00 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.
54f20 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
54f40 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
54f60 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
54f80 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
54fa0 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:..
54fc0 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
54fe0 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
55000 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)...
55020 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).(
55040 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
55060 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.(
55080 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
550a0 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
550c0 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
550e0 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
55100 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.
55120 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
55140 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
55160 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....
55180 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
551a0 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
551c0 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
551e0 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
55200 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
55220 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
55240 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
55260 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
55280 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
552a0 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
552c0 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
552e0 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.
55300 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.
55320 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.
55340 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
55360 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
55380 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
553a0 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
553c0 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
553e0 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....
55400 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
55420 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.............(
55440 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]))
55460 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))................
55480 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
554a0 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
554c0 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))...................
554e0 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.
55500 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
55520 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)].
55540 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)).................
55560 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
55580 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
555a0 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
555c0 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.
555e0 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
55600 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
55620 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
55640 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
55660 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......
55680 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
556a0 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
556c0 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
556e0 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
55700 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
55720 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..
55740 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
55760 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
55780 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*.(((
557a0 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
557c0 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))........
557e0 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)...........(
55800 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.
55820 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)
55840 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
55860 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."
55880 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.
558a0 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
558c0 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
558e0 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))...................(
55900 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
55920 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)....
55940 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
55960 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
55980 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.
559a0 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
559c0 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,....
559e0 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).
55a00 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)..
55a20 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.
55a40 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
55a60 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
55a80 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
55aa0 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
55ac0 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
55ae0 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
55b00 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.............(
55b20 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)).'
55b40 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)))............
55b60 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.
55b80 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
55ba0 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])).................
55bc0 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.(-
55be0 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
55c00 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))......
55c20 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
55c40 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]....).
55c60 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
55c80 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
55ca0 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
55cc0 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.....
55ce0 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
55d00 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
55d20 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.....
55d40 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:.....
55d60 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
55d80 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
55da0 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......
55dc0 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
55de0 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
55e00 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
55e20 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
55e40 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.
55e60 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...
55e80 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
55ea0 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...........
55ec0 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.
55ee0 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)).................
55f00 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
55f20 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
55f40 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:
55f60 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
55f80 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
55fa0 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
55fc0 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.=========
55fe0 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
56000 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...
56020 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)...
56040 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
56060 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
56080 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
560a0 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
560c0 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
560e0 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
56100 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-
56120 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:
56140 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.'
56160 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)))
56180 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)...
561a0 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
561c0 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)...............
561e0 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
56200 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)...............
56220 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
56240 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
56260 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
56280 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
562a0 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.
562c0 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....
562e0 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
56300 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
56320 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
56340 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...........
56360 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
56380 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.
563a0 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
563c0 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
563e0 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.
56400 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)..
56420 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
56440 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.
56460 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)...................
56480 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.(
564a0 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
564c0 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
564e0 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
56500 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
56520 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.
56540 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.......
56560 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....(*
56580 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::)............
565a0 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
565c0 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)
565e0 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
56600 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
56620 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
56640 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)......
56660 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))
56680 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
566a0 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)..........
566c0 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
566e0 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
56700 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
56720 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
56740 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
56760 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
56780 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...............
567a0 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
567c0 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).........
567e0 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
56800 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
56820 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
56840 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).#'
56860 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.
56880 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
568a0 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
568c0 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
568e0 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
56900 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
56920 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
56940 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
56960 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....
56980 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
569a0 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.
569c0 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
569e0 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
56a00 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)...........
56a20 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).(
56a40 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
56a60 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).............
56a80 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
56aa0 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).(>
56ac0 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)....
56ae0 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:
56b00 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.
56b20 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
56b40 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......
56b60 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.
56b80 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
56ba0 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.
56bc0 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
56be0 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
56c00 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
56c20 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
56c40 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))).
56c60 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)....
56c80 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
56ca0 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).........
56cc0 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).
56ce0 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)....
56d00 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
56d20 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
56d40 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
56d60 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
56d80 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
56da0 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.===============
56dc0 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
56de0 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
56e00 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
56e20 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
56e40 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).
56e60 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)..................
56e80 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))).(
56ea0 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)...................
56ec0 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)...
56ee0 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.
56f00 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
56f20 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).............
56f40 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.
56f60 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)................
56f80 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,.
56fa0 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
56fc0 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:
56fe0 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
57000 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.=========================.
57020 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
57040 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
57060 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)
57080 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.
570a0 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.
570c0 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
570e0 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
57100 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
57120 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
57140 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
57160 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
57180 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...
571a0 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.(
571c0 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))................
571e0 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
57200 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.
57220 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.#'+
57240 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...
57260 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
57280 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
572a0 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
572c0 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
572e0 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
57300 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.
57320 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.
57340 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......
57360 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
57380 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..
573a0 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
573c0 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
573e0 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
57400 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.
57420 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
57440 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))...........
57460 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.(-
57480 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)..............
574a0 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
574c0 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)...............
574e0 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
57500 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
57520 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..
57540 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
57560 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
57580 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
575a0 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
575c0 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
575e0 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)...................()...
57600 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.#'+.#'-.
57620 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)...................
57640 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.(-
57660 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+).'(
57680 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)
576a0 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
576c0 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
576e0 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.
57700 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
57720 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
57740 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.....
57760 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
57780 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..
577a0 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
577c0 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
577e0 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
57800 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....
57820 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.(-
57840 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)....
57860 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
57880 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+).
578a0 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..........
578c0 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
578e0 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.""))..................
57900 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
57920 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
57940 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
57960 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
57980 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
579a0 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
579c0 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
579e0 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
57a00 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
57a20 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.#'+
57a40 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)))...
57a60 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)........
57a80 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
57aa0 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
57ac0 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
57ae0 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.
57b00 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
57b20 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
57b40 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
57b60 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.
57b80 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...
57ba0 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
57bc0 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
57be0 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
57c00 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
57c20 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
57c40 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.#...+.#..
57c60 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).(
57c80 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.#...+.
57ca0 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
57cc0 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
57ce0 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)
57d00 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
57d20 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
57d40 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")............
57d60 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
57d80 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.
57da0 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)...--.
57dc0 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
57de0 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
57e00 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.....
57e20 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
57e40 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.....
57e60 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
57e80 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
57ea0 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.#...
57ec0 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
57ee0 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
57f00 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.(
57f20 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))..........
57f40 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
57f60 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).....
57f80 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
57fa0 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)..............
57fc0 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
57fe0 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
58000 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
58020 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
58040 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
58060 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
58080 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
580a0 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.
580c0 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...
580e0 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
58100 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
58120 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....(*
58140 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
58160 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.
58180 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)
581a0 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
581c0 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)..............
581e0 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
58200 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)...
58220 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)...--
58240 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
58260 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
58280 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...
582a0 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......
582c0 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
582e0 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........
58300 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".
58320 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
58340 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.(-
58360 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")))...
58380 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
583a0 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
583c0 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
583e0 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
58400 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
58420 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-
58440 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.....
58460 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.<>
58480 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)...................
584a0 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
584c0 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
584e0 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))))...............
58500 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.(-
58520 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
58540 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).
58560 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:
58580 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
585a0 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.
585c0 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
585e0 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.
58600 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......
58620 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
58640 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:.
58660 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
58680 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::)...
586a0 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
586c0 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....
586e0 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
58700 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.
58720 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.(-
58740 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.
58760 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).
58780 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
587a0 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.
587c0 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
587e0 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
58800 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
58820 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
58840 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
58860 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......
58880 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
588a0 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....
588c0 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
588e0 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.
58900 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
58920 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:.
58940 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
58960 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::).....
58980 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
589a0 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
589c0 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)
589e0 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
58a00 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".<>
58a20 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...
58a40 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.#'=.#'+)
58a60 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
58a80 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)...
58aa0 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
58ac0 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...
58ae0 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
58b00 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
58b20 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.
58b40 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.
58b60 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
58b80 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
58ba0 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..
58bc0 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.
58be0 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.....
58c00 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
58c20 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
58c40 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
58c60 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::)....
58c80 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
58ca0 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
58cc0 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)......
58ce0 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.#
58d00 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))................
58d20 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
58d40 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).......
58d60 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
58d80 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
58da0 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
58dc0 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
58de0 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
58e00 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...
58e20 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::).
58e40 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
58e60 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
58e80 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...
58ea0 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.-
58ec0 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
58ee0 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:......
58f00 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
58f20 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
58f40 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
58f60 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).(*.
58f80 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
58fa0 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
58fc0 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..
58fe0 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
59000 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)).............
59020 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
59040 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-
59060 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
59080 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.
590a0 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.
590c0 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
590e0 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,.
59100 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
59120 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
59140 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
59160 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
59180 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
591a0 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.
591c0 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
591e0 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
59200 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
59220 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
59240 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
59260 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
59280 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....
592a0 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-
592c0 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
592e0 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
59300 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
59320 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.
59340 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,.
59360 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
59380 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
593a0 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
593c0 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
593e0 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
59400 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
59420 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
59440 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.
59460 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
59480 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
594a0 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
594c0 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
594e0 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
59500 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.
59520 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
59540 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.
59560 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
59580 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
595a0 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.
595c0 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
595e0 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
59600 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)
59620 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).
59640 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
59660 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
59680 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
596a0 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
596c0 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
596e0 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
59700 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
59720 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
59740 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).....
59760 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
59780 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.(-
597a0 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.
597c0 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
597e0 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...)....
59800 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....
59820 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
59840 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.
59860 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
59880 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.......))
598a0 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...)
598c0 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
598e0 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.
59900 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
59920 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
59940 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
59960 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)).............
59980 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.
599a0 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).
599c0 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)))...................
599e0 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)).......
59a00 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.
59a20 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.
59a40 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
59a60 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
59a80 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
59aa0 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
59ac0 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
59ae0 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.<
59b00 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.
59b20 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::...
59b40 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
59b60 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
59b80 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,
59ba0 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
59bc0 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
59be0 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
59c00 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
59c20 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
59c40 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
59c60 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
59c80 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
59ca0 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
59cc0 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
59ce0 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
59d00 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
59d20 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
59d40 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
59d60 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
59d80 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
59da0 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:.....
59dc0 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
59de0 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..
59e00 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
59e20 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
59e40 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
59e60 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....
59e80 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
59ea0 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
59ec0 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
59ee0 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
59f00 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
59f20 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
59f40 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
59f60 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::.
59f80 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:
59fa0 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
59fc0 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
59fe0 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
5a000 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
5a020 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
5a040 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
5a060 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
5a080 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
5a0a0 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
5a0c0 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
5a0e0 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
5a100 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
5a120 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
5a140 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
5a160 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
5a180 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
5a1a0 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/
5a1c0 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..
5a1e0 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..
5a200 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.
5a220 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
5a240 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...,....
5a260 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
5a280 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.
5a2a0 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
5a2c0 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
5a2e0 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?....
5a300 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:/
5a320 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
5a340 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...........
5a360 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/
5a380 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
5a3a0 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
5a3c0 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.
5a3e0 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.....
5a400 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:/
5a420 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.
5a440 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...
5a460 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
5a480 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
5a4a0 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
5a4c0 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
5a4e0 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.
5a500 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
5a520 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
5a540 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
5a560 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..
5a580 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://
5a5a0 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
5a5c0 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
5a5e0 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
5a600 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
5a620 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
5a640 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-->........
5a660 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
5a680 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)....
5a6a0 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.
5a6c0 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
5a6e0 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...
5a700 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
5a720 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..
5a740 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
5a760 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
5a780 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...*
5a7a0 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
5a7c0 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
5a7e0 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
5a800 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
5a820 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.********************
5a840 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 *********************...........
5a860 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
5a880 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
5a8a0 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
5a8c0 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
5a8e0 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
5a900 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
5a920 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.
5a940 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
5a960 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
5a980 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
5a9a0 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
5a9c0 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
5a9e0 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
5aa00 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
5aa20 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
5aa40 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,...
5aa60 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,
5aa80 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
5aaa0 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
5aac0 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......
5aae0 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
5ab00 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
5ab20 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
5ab40 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
5ab60 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
5ab80 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
5aba0 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
5abc0 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
5abe0 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
5ac00 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
5ac20 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
5ac40 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.
5ac60 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
5ac80 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
5aca0 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
5acc0 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
5ace0 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
5ad00 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
5ad20 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...
5ad40 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.
5ad60 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..
5ad80 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.
5ada0 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
5adc0 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.
5ade0 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
5ae00 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
5ae20 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
5ae40 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
5ae60 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
5ae80 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.
5aea0 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
5aec0 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,.....
5aee0 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
5af00 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
5af20 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
5af40 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.
5af60 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
5af80 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
5afa0 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
5afc0 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
5afe0 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.
5b000 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
5b020 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
5b040 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.
5b060 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.
5b080 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
5b0a0 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
5b0c0 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
5b0e0 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.......
5b100 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
5b120 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
5b140 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
5b160 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
5b180 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
5b1a0 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
5b1c0 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
5b1e0 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
5b200 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.
5b220 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.
5b240 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....
5b260 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
5b280 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
5b2a0 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.
5b2c0 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
5b2e0 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
5b300 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,
5b320 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
5b340 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
5b360 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
5b380 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
5b3a0 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...
5b3c0 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
5b3e0 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
5b400 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,
5b420 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
5b440 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
5b460 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
5b480 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
5b4a0 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
5b4c0 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
5b4e0 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.
5b500 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
5b520 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......
5b540 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
5b560 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
5b580 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
5b5a0 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
5b5c0 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
5b5e0 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
5b600 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
5b620 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
5b640 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....
5b660 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
5b680 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
5b6a0 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
5b6c0 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.
5b6e0 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
5b700 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-
5b720 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
5b740 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....
5b760 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..
5b780 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
5b7a0 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
5b7c0 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
5b7e0 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
5b800 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
5b820 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
5b840 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
5b860 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
5b880 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
5b8a0 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
5b8c0 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
5b8e0 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.
5b900 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...
5b920 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
5b940 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
5b960 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
5b980 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
5b9a0 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
5b9c0 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
5b9e0 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
5ba00 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
5ba20 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
5ba40 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
5ba60 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..
5ba80 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
5baa0 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
5bac0 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
5bae0 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
5bb00 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
5bb20 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
5bb40 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
5bb60 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,....
5bb80 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
5bba0 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
5bbc0 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
5bbe0 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
5bc00 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
5bc20 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
5bc40 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
5bc60 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.
5bc80 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
5bca0 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
5bcc0 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.....
5bce0 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
5bd00 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
5bd20 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
5bd40 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
5bd60 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
5bd80 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..
5bda0 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
5bdc0 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
5bde0 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
5be00 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,
5be20 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.
5be40 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.
5be60 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
5be80 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
5bea0 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...
5bec0 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
5bee0 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
5bf00 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
5bf20 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..
5bf40 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.
5bf60 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
5bf80 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
5bfa0 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
5bfc0 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
5bfe0 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
5c000 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
5c020 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
5c040 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
5c060 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...
5c080 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
5c0a0 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
5c0c0 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
5c0e0 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
5c100 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....
5c120 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.
5c140 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
5c160 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
5c180 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
5c1a0 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
5c1c0 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.
5c1e0 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
5c200 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
5c220 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.
5c240 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
5c260 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
5c280 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.
5c2a0 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
5c2c0 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
5c2e0 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
5c300 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
5c320 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
5c340 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
5c360 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
5c380 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
5c3a0 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...
5c3c0 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
5c3e0 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,.
5c400 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.
5c420 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
5c440 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
5c460 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
5c480 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
5c4a0 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.
5c4c0 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
5c4e0 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
5c500 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....
5c520 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
5c540 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
5c560 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
5c580 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
5c5a0 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
5c5c0 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
5c5e0 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
5c600 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.
5c620 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
5c640 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
5c660 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...
5c680 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
5c6a0 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
5c6c0 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..
5c6e0 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.
5c700 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
5c720 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
5c740 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
5c760 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
5c780 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
5c7a0 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
5c7c0 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
5c7e0 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
5c800 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
5c820 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.....
5c840 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
5c860 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
5c880 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
5c8a0 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.
5c8c0 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
5c8e0 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
5c900 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.
5c920 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.
5c940 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
5c960 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
5c980 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
5c9a0 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
5c9c0 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
5c9e0 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
5ca00 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
5ca20 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
5ca40 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
5ca60 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
5ca80 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
5caa0 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
5cac0 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.
5cae0 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.
5cb00 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
5cb20 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
5cb40 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
5cb60 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
5cb80 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
5cba0 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
5cbc0 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
5cbe0 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.
5cc00 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-
5cc20 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.
5cc40 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
5cc60 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.
5cc80 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
5cca0 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
5ccc0 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
5cce0 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.....
5cd00 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
5cd20 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..
5cd40 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
5cd60 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
5cd80 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
5cda0 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
5cdc0 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.
5cde0 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
5ce00 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.
5ce20 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
5ce40 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....
5ce60 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
5ce80 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
5cea0 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
5cec0 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.
5cee0 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....
5cf00 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.
5cf20 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
5cf40 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
5cf60 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
5cf80 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...
5cfa0 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.
5cfc0 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
5cfe0 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
5d000 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
5d020 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.
5d040 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
5d060 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
5d080 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
5d0a0 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......
5d0c0 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.
5d0e0 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
5d100 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......
5d120 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
5d140 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
5d160 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
5d180 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
5d1a0 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
5d1c0 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
5d1e0 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
5d200 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
5d220 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
5d240 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..........
5d260 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
5d280 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...
5d2a0 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
5d2c0 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
5d2e0 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
5d300 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.
5d320 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
5d340 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
5d360 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
5d380 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
5d3a0 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
5d3c0 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
5d3e0 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.
5d400 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
5d420 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
5d440 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
5d460 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
5d480 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.
5d4a0 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
5d4c0 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
5d4e0 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.......
5d500 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
5d520 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
5d540 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
5d560 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
5d580 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.
5d5a0 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
5d5c0 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
5d5e0 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
5d600 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
5d620 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
5d640 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
5d660 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..........
5d680 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
5d6a0 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
5d6c0 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
5d6e0 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
5d700 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
5d720 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
5d740 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........
5d760 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
5d780 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
5d7a0 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
5d7c0 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
5d7e0 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
5d800 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,.
5d820 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
5d840 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.
5d860 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.....
5d880 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
5d8a0 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..
5d8c0 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......
5d8e0 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
5d900 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
5d920 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.
5d940 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
5d960 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
5d980 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
5d9a0 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
5d9c0 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
5d9e0 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..........
5da00 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
5da20 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
5da40 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
5da60 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.
5da80 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
5daa0 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
5dac0 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
5dae0 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
5db00 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
5db20 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...,
5db40 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
5db60 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
5db80 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
5dba0 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
5dbc0 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
5dbe0 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
5dc00 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
5dc20 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
5dc40 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
5dc60 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
5dc80 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...........
5dca0 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
5dcc0 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........
5dce0 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
5dd00 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
5dd20 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
5dd40 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......
5dd60 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
5dd80 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.......
5dda0 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
5ddc0 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
5dde0 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..
5de00 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
5de20 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
5de40 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
5de60 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
5de80 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
5dea0 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
5dec0 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
5dee0 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
5df00 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
5df20 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
5df40 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
5df60 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.
5df80 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.
5dfa0 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
5dfc0 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......
5dfe0 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
5e000 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
5e020 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
5e040 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
5e060 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
5e080 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
5e0a0 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
5e0c0 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.
5e0e0 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.
5e100 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
5e120 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
5e140 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
5e160 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.
5e180 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
5e1a0 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
5e1c0 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
5e1e0 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
5e200 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
5e220 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
5e240 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
5e260 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
5e280 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.
5e2a0 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....
5e2c0 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.
5e2e0 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
5e300 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
5e320 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
5e340 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.
5e360 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
5e380 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
5e3a0 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
5e3c0 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.
5e3e0 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
5e400 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
5e420 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
5e440 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
5e460 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
5e480 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
5e4a0 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
5e4c0 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
5e4e0 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
5e500 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
5e520 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
5e540 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
5e560 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
5e580 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
5e5a0 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
5e5c0 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
5e5e0 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
5e600 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.....
5e620 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.....
5e640 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
5e660 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,
5e680 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
5e6a0 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.
5e6c0 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
5e6e0 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
5e700 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
5e720 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
5e740 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...
5e760 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
5e780 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..
5e7a0 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
5e7c0 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
5e7e0 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
5e800 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
5e820 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
5e840 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
5e860 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.
5e880 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
5e8a0 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
5e8c0 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
5e8e0 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.
5e900 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
5e920 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
5e940 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
5e960 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
5e980 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..
5e9a0 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
5e9c0 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..
5e9e0 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
5ea00 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
5ea20 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...
5ea40 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
5ea60 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
5ea80 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
5eaa0 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
5eac0 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
5eae0 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
5eb00 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
5eb20 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
5eb40 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.....
5eb60 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
5eb80 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.
5eba0 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.....
5ebc0 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
5ebe0 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
5ec00 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.
5ec20 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
5ec40 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
5ec60 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
5ec80 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
5eca0 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
5ecc0 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
5ece0 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
5ed00 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
5ed20 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
5ed40 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
5ed60 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
5ed80 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..
5eda0 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
5edc0 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
5ede0 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
5ee00 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
5ee20 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
5ee40 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
5ee60 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
5ee80 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
5eea0 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...
5eec0 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
5eee0 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
5ef00 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
5ef20 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.
5ef40 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
5ef60 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
5ef80 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
5efa0 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
5efc0 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.
5efe0 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
5f000 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
5f020 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
5f040 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....
5f060 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
5f080 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
5f0a0 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.....
5f0c0 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
5f0e0 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
5f100 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
5f120 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
5f140 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
5f160 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.
5f180 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
5f1a0 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
5f1c0 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
5f1e0 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
5f200 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
5f220 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
5f240 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..
5f260 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
5f280 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
5f2a0 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
5f2c0 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
5f2e0 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.....
5f300 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
5f320 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...
5f340 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
5f360 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.
5f380 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
5f3a0 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.
5f3c0 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.
5f3e0 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
5f400 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..
5f420 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
5f440 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
5f460 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
5f480 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
5f4a0 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
5f4c0 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
5f4e0 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
5f500 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....
5f520 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
5f540 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
5f560 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
5f580 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
5f5a0 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
5f5c0 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
5f5e0 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
5f600 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
5f620 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
5f640 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.
5f660 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
5f680 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
5f6a0 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
5f6c0 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
5f6e0 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
5f700 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.
5f720 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
5f740 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
5f760 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.
5f780 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
5f7a0 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
5f7c0 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
5f7e0 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
5f800 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
5f820 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
5f840 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
5f860 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.
5f880 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
5f8a0 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
5f8c0 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...
5f8e0 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
5f900 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
5f920 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
5f940 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
5f960 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
5f980 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
5f9a0 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
5f9c0 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....
5f9e0 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
5fa00 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
5fa20 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,.
5fa40 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
5fa60 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.
5fa80 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
5faa0 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
5fac0 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
5fae0 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
5fb00 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.
5fb20 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.
5fb40 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
5fb60 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.
5fb80 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.
5fba0 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
5fbc0 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.
5fbe0 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
5fc00 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.
5fc20 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
5fc40 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
5fc60 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
5fc80 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
5fca0 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
5fcc0 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
5fce0 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
5fd00 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....
5fd20 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
5fd40 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..
5fd60 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
5fd80 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..
5fda0 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
5fdc0 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.
5fde0 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
5fe00 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.
5fe20 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
5fe40 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.
5fe60 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......
5fe80 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.
5fea0 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..
5fec0 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
5fee0 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
5ff00 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
5ff20 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
5ff40 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
5ff60 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
5ff80 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
5ffa0 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
5ffc0 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
5ffe0 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
60000 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.
60020 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
60040 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
60060 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......
60080 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
600a0 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
600c0 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
600e0 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
60100 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...
60120 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
60140 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
60160 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
60180 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
601a0 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
601c0 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
601e0 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
60200 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
60220 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..
60240 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
60260 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...
60280 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
602a0 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
602c0 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
602e0 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
60300 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
60320 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.
60340 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
60360 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
60380 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
603a0 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
603c0 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
603e0 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
60400 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
60420 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......
60440 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
60460 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
60480 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....
604a0 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
604c0 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
604e0 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.
60500 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
60520 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.
60540 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.=============
60560 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 ================================
60580 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.
605a0 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
605c0 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
605e0 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
60600 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
60620 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:.......
60640 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
60660 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
60680 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
606a0 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.
606c0 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
606e0 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........
60700 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
60720 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;.
60740 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
60760 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.
60780 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
607a0 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
607c0 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.......
607e0 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''...
60800 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
60820 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
60840 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..
60860 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:......
60880 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
608a0 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..
608c0 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
608e0 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
60900 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.....
60920 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.
60940 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
60960 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
60980 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
609a0 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
609c0 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
609e0 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
60a00 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
60a20 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.
60a40 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
60a60 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
60a80 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..
60aa0 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:.
60ac0 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,..
60ae0 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.
60b00 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.*****************
60b20 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 ********************............
60b40 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
60b60 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
60b80 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
60ba0 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
60bc0 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
60be0 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......
60c00 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
60c20 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.====
60c40 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
60c60 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
60c80 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
60ca0 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
60cc0 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
60ce0 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
60d00 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.
60d20 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
60d40 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
60d60 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
60d80 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
60da0 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
60dc0 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.
60de0 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
60e00 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
60e20 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
60e40 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
60e60 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
60e80 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.
60ea0 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.
60ec0 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
60ee0 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..
60f00 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
60f20 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.
60f40 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
60f60 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
60f80 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
60fa0 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
60fc0 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
60fe0 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
61000 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,.
61020 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
61040 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
61060 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
61080 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
610a0 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
610c0 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
610e0 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
61100 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
61120 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
61140 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
61160 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
61180 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
611a0 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,.
611c0 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
611e0 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
61200 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
61220 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
61240 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
61260 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
61280 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
612a0 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.
612c0 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
612e0 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
61300 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
61320 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,
61340 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....
61360 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
61380 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
613a0 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
613c0 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
613e0 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....
61400 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
61420 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
61440 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.
61460 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
61480 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...
614a0 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.
614c0 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.
614e0 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
61500 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.
61520 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
61540 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
61560 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....
61580 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..
615a0 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.
615c0 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
615e0 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
61600 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
61620 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
61640 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.
61660 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
61680 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
616a0 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.
616c0 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
616e0 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
61700 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,
61720 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
61740 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
61760 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.
61780 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
617a0 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
617c0 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
617e0 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
61800 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.
61820 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
61840 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.
61860 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
61880 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
618a0 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.
618c0 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
618e0 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
61900 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
61920 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
61940 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.=============
61960 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.......
61980 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
619a0 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
619c0 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
619e0 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.
61a00 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
61a20 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
61a40 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.
61a60 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
61a80 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
61aa0 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
61ac0 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...
61ae0 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
61b00 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..
61b20 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
61b40 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.
61b60 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
61b80 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
61ba0 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
61bc0 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
61be0 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.....
61c00 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.
61c20 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
61c40 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
61c60 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
61c80 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
61ca0 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
61cc0 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
61ce0 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
61d00 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
61d20 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....
61d40 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.
61d60 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.
61d80 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
61da0 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.
61dc0 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
61de0 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
61e00 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
61e20 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
61e40 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....
61e60 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
61e80 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
61ea0 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
61ec0 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
61ee0 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
61f00 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
61f20 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
61f40 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.
61f60 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
61f80 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
61fa0 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
61fc0 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.....
61fe0 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
62000 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.
62020 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
62040 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.(
62060 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
62080 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
620a0 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
620c0 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.
620e0 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
62100 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
62120 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
62140 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
62160 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...
62180 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.
621a0 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
621c0 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
621e0 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
62200 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
62220 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
62240 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
62260 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
62280 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
622a0 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
622c0 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......
622e0 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
62300 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...
62320 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.
62340 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
62360 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..
62380 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
623a0 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,...
623c0 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
623e0 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
62400 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
62420 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
62440 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
62460 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
62480 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
624a0 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
624c0 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......
624e0 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
62500 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
62520 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
62540 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.
62560 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.(
62580 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
625a0 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
625c0 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
625e0 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
62600 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,
62620 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
62640 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...
62660 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
62680 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
626a0 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
626c0 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.
626e0 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
62700 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
62720 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
62740 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,.
62760 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
62780 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
627a0 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...
627c0 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
627e0 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
62800 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
62820 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
62840 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
62860 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
62880 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
628a0 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
628c0 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
628e0 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
62900 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......
62920 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
62940 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......
62960 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
62980 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
629a0 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........
629c0 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
629e0 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
62a00 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.
62a20 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
62a40 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
62a60 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.
62a80 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
62aa0 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
62ac0 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
62ae0 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
62b00 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.
62b20 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
62b40 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
62b60 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
62b80 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
62ba0 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.
62bc0 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
62be0 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
62c00 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
62c20 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
62c40 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
62c60 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
62c80 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
62ca0 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
62cc0 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
62ce0 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
62d00 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
62d20 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
62d40 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
62d60 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
62d80 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.
62da0 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
62dc0 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,..
62de0 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
62e00 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
62e20 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
62e40 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
62e60 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
62e80 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..
62ea0 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
62ec0 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
62ee0 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.....
62f00 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
62f20 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
62f40 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
62f60 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.
62f80 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.
62fa0 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.
62fc0 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
62fe0 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
63000 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
63020 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
63040 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
63060 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
63080 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......
630a0 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
630c0 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
630e0 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
63100 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
63120 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
63140 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.
63160 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
63180 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
631a0 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
631c0 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
631e0 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
63200 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
63220 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
63240 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
63260 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
63280 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
632a0 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
632c0 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
632e0 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
63300 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.
63320 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
63340 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
63360 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
63380 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.
633a0 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
633c0 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.
633e0 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..
63400 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
63420 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
63440 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
63460 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
63480 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
634a0 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.
634c0 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
634e0 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
63500 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
63520 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
63540 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
63560 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
63580 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
635a0 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
635c0 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
635e0 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,
63600 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.
63620 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
63640 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
63660 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
63680 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
636a0 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
636c0 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
636e0 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....
63700 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
63720 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..
63740 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
63760 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
63780 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
637a0 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
637c0 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
637e0 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
63800 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
63820 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
63840 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.
63860 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
63880 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
638a0 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
638c0 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
638e0 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,.
63900 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.
63920 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
63940 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
63960 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.
63980 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
639a0 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
639c0 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.....
639e0 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
63a00 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
63a20 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
63a40 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
63a60 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
63a80 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.
63aa0 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
63ac0 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
63ae0 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
63b00 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
63b20 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
63b40 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...........
63b60 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
63b80 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....
63ba0 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
63bc0 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
63be0 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
63c00 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...
63c20 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
63c40 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
63c60 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
63c80 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.
63ca0 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.
63cc0 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
63ce0 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.
63d00 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
63d20 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
63d40 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
63d60 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.....
63d80 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
63da0 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..
63dc0 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
63de0 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.
63e00 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
63e20 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..
63e40 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
63e60 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
63e80 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.
63ea0 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
63ec0 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
63ee0 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
63f00 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
63f20 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
63f40 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
63f60 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
63f80 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...........
63fa0 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
63fc0 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..
63fe0 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
64000 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
64020 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.
64040 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.
64060 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
64080 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..
640a0 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
640c0 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
640e0 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
64100 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
64120 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
64140 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
64160 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
64180 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.
641a0 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.......
641c0 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
641e0 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...
64200 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.
64220 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,
64240 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
64260 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
64280 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
642a0 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
642c0 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
642e0 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.
64300 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...........
64320 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
64340 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....
64360 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
64380 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
643a0 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........
643c0 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.
643e0 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.....
64400 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
64420 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
64440 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
64460 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
64480 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
644a0 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
644c0 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
644e0 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.......
64500 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
64520 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.
64540 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
64560 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
64580 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
645a0 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
645c0 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.
645e0 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
64600 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
64620 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
64640 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....
64660 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.
64680 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
646a0 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
646c0 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
646e0 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
64700 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
64720 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
64740 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
64760 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
64780 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
647a0 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....
647c0 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
647e0 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
64800 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
64820 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.
64840 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
64860 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,........
64880 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
648a0 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....
648c0 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
648e0 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
64900 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.
64920 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......
64940 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
64960 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..
64980 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
649a0 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,.
649c0 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
649e0 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.....
64a00 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
64a20 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...,.
64a40 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
64a60 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
64a80 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
64aa0 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).
64ac0 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...
64ae0 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
64b00 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
64b20 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,.
64b40 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
64b60 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
64b80 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
64ba0 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
64bc0 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
64be0 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
64c00 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
64c20 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
64c40 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
64c60 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
64c80 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.
64ca0 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.
64cc0 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
64ce0 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
64d00 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
64d20 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
64d40 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......
64d60 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.
64d80 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
64da0 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
64dc0 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
64de0 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.
64e00 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...
64e20 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.
64e40 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
64e60 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
64e80 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
64ea0 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
64ec0 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
64ee0 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
64f00 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
64f20 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
64f40 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
64f60 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
64f80 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
64fa0 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
64fc0 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
64fe0 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.....
65000 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
65020 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
65040 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
65060 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
65080 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
650a0 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
650c0 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
650e0 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
65100 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
65120 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
65140 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
65160 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
65180 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
651a0 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
651c0 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
651e0 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,
65200 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.
65220 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
65240 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.
65260 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
65280 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
652a0 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
652c0 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
652e0 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
65300 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
65320 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
65340 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.
65360 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
65380 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
653a0 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
653c0 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.
653e0 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
65400 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
65420 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.
65440 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
65460 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.
65480 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
654a0 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
654c0 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
654e0 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......
65500 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
65520 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
65540 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
65560 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
65580 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
655a0 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
655c0 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
655e0 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
65600 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
65620 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.
65640 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
65660 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
65680 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......
656a0 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
656c0 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
656e0 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
65700 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.
65720 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
65740 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
65760 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
65780 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
657a0 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.
657c0 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
657e0 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
65800 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..
65820 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
65840 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
65860 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.
65880 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
658a0 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.
658c0 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
658e0 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
65900 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,
65920 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,
65940 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.
65960 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
65980 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
659a0 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
659c0 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
659e0 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
65a00 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
65a20 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
65a40 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.
65a60 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
65a80 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
65aa0 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
65ac0 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.
65ae0 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
65b00 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.
65b20 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........
65b40 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
65b60 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
65b80 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
65ba0 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...
65bc0 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
65be0 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
65c00 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
65c20 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
65c40 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
65c60 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
65c80 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.........
65ca0 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
65cc0 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
65ce0 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
65d00 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
65d20 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
65d40 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
65d60 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
65d80 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.
65da0 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
65dc0 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
65de0 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
65e00 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
65e20 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
65e40 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......
65e60 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
65e80 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....
65ea0 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
65ec0 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
65ee0 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
65f00 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
65f20 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..
65f40 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.
65f60 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.
65f80 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,.
65fa0 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..
65fc0 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
65fe0 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
66000 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
66020 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
66040 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
66060 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
66080 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
660a0 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
660c0 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.....
660e0 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
66100 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
66120 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
66140 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
66160 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
66180 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.
661a0 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
661c0 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
661e0 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
66200 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,.
66220 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
66240 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..
66260 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
66280 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
662a0 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
662c0 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.
662e0 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
66300 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.....
66320 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
66340 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.
66360 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
66380 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.
663a0 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
663c0 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
663e0 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.
66400 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.(
66420 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
66440 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
66460 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
66480 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
664a0 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
664c0 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
664e0 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).....
66500 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
66520 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
66540 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
66560 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,.
66580 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
665a0 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
665c0 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.
665e0 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
66600 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
66620 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
66640 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
66660 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
66680 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.
666a0 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
666c0 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
666e0 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
66700 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.
66720 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.
66740 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.
66760 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.
66780 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
667a0 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
667c0 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
667e0 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
66800 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..
66820 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
66840 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
66860 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
66880 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.
668a0 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
668c0 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..
668e0 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
66900 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
66920 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.
66940 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
66960 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
66980 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....
669a0 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
669c0 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
669e0 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
66a00 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
66a20 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
66a40 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...
66a60 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
66a80 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
66aa0 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
66ac0 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.
66ae0 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
66b00 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
66b20 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.
66b40 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.
66b60 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
66b80 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
66ba0 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
66bc0 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
66be0 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.
66c00 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...
66c20 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.
66c40 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...
66c60 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
66c80 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
66ca0 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
66cc0 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
66ce0 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..
66d00 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
66d20 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
66d40 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
66d60 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
66d80 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
66da0 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,.
66dc0 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
66de0 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
66e00 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......
66e20 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..
66e40 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
66e60 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
66e80 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.
66ea0 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
66ec0 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
66ee0 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
66f00 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.
66f20 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
66f40 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
66f60 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
66f80 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
66fa0 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
66fc0 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
66fe0 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,.
67000 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....
67020 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
67040 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
67060 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
67080 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
670a0 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
670c0 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
670e0 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
67100 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
67120 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..
67140 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
67160 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.
67180 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...
671a0 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
671c0 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
671e0 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
67200 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....
67220 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........
67240 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
67260 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
67280 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
672a0 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
672c0 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
672e0 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
67300 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
67320 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
67340 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
67360 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
67380 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
673a0 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
673c0 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
673e0 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
67400 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
67420 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
67440 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
67460 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
67480 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.......
674a0 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
674c0 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
674e0 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.
67500 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...
67520 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,.
67540 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
67560 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.
67580 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
675a0 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
675c0 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,
675e0 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..
67600 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
67620 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
67640 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.
67660 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
67680 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.
676a0 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).
676c0 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
676e0 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.
67700 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
67720 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
67740 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
67760 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
67780 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
677a0 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
677c0 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..
677e0 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.
67800 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
67820 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
67840 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.
67860 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
67880 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
678a0 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
678c0 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
678e0 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
67900 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
67920 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
67940 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
67960 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..
67980 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
679a0 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.
679c0 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
679e0 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.
67a00 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
67a20 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.
67a40 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
67a60 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
67a80 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
67aa0 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.
67ac0 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....
67ae0 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
67b00 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
67b20 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
67b40 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
67b60 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
67b80 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,.
67ba0 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
67bc0 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
67be0 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
67c00 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,.
67c20 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
67c40 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.
67c60 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
67c80 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
67ca0 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
67cc0 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
67ce0 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.
67d00 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
67d20 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
67d40 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.
67d60 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
67d80 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
67da0 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...
67dc0 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
67de0 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
67e00 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
67e20 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
67e40 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.
67e60 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
67e80 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
67ea0 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
67ec0 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
67ee0 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
67f00 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....
67f20 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.
67f40 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
67f60 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
67f80 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
67fa0 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
67fc0 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
67fe0 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)
68000 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
68020 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
68040 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
68060 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..
68080 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
680a0 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
680c0 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
680e0 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
68100 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
68120 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
68140 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
68160 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
68180 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
681a0 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
681c0 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......
681e0 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
68200 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
68220 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
68240 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.
68260 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
68280 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
682a0 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
682c0 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
682e0 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
68300 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
68320 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
68340 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
68360 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.
68380 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
683a0 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
683c0 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
683e0 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
68400 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
68420 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.
68440 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....
68460 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
68480 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.
684a0 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
684c0 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
684e0 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
68500 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.
68520 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
68540 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
68560 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.
68580 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...
685a0 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.
685c0 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.
685e0 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.
68600 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
68620 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
68640 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
68660 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
68680 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
686a0 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
686c0 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
686e0 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
68700 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
68720 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
68740 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
68760 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
68780 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..
687a0 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
687c0 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
687e0 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
68800 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
68820 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
68840 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
68860 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
68880 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
688a0 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
688c0 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
688e0 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
68900 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
68920 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.....
68940 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
68960 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.
68980 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...
689a0 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.
689c0 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
689e0 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
68a00 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
68a20 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
68a40 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
68a60 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.
68a80 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
68aa0 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
68ac0 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
68ae0 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.
68b00 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
68b20 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
68b40 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
68b60 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
68b80 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
68ba0 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
68bc0 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....
68be0 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.
68c00 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
68c20 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.
68c40 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
68c60 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
68c80 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.
68ca0 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
68cc0 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
68ce0 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.
68d00 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
68d20 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
68d40 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
68d60 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
68d80 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
68da0 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
68dc0 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
68de0 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.
68e00 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
68e20 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.......
68e40 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
68e60 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..
68e80 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.
68ea0 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
68ec0 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
68ee0 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
68f00 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.
68f20 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
68f40 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......
68f60 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
68f80 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.
68fa0 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.
68fc0 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.
68fe0 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
69000 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
69020 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
69040 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
69060 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
69080 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.
690a0 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
690c0 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
690e0 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),.
69100 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
69120 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.
69140 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.....
69160 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
69180 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
691a0 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.
691c0 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
691e0 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
69200 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,......
69220 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
69240 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
69260 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
69280 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
692a0 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
692c0 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....
692e0 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
69300 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
69320 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.
69340 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
69360 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
69380 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.=====================
693a0 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
693c0 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.
693e0 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
69400 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
69420 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
69440 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
69460 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
69480 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
694a0 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
694c0 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
694e0 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
69500 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
69520 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
69540 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
69560 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
69580 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
695a0 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
695c0 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
695e0 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
69600 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..
69620 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
69640 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/
69660 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
69680 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
696a0 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
696c0 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
696e0 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..
69700 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
69720 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
69740 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
69760 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
69780 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
697a0 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
697c0 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
697e0 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
69800 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
69820 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
69840 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
69860 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.
69880 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
698a0 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.
698c0 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
698e0 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
69900 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
69920 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
69940 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
69960 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:
69980 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
699a0 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
699c0 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
699e0 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
69a00 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,
69a20 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
69a40 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
69a60 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
69a80 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
69aa0 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..
69ac0 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
69ae0 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
69b00 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.
69b20 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
69b40 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.
69b60 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
69b80 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
69ba0 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
69bc0 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
69be0 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,
69c00 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
69c20 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
69c40 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
69c60 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/>......
69c80 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
69ca0 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
69cc0 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
69ce0 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
69d00 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.
69d20 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
69d40 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
69d60 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
69d80 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.
69da0 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
69dc0 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
69de0 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
69e00 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
69e20 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,
69e40 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.***
69e60 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:
69e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
69ea0 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........
69ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
69ee0 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
69f00 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:.....................
69f20 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
69f40 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..............................
69f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
69f80 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).*.-->:.............
69fa0 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.
69fc0 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).*.->:.....
69fe0 20 20 20 20 20 20 20 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
6a000 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).*
6a020 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 .->>:...........................
6a040 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
6a060 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?:................
6a080 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.....
6a0a0 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:......
6a0c0 20 20 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
6a0e0 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..................
6a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a120 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
6a140 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:...........................
6a160 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
6a180 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?:......................
6a1a0 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...........
6a1c0 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:..........
6a1e0 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
6a200 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........................
6a220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a240 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->:.....
6a260 20 20 20 20 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
6a280 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
6a2a0 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:.........................
6a2c0 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......
6a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a300 20 20 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.
6a320 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:..................
6a340 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...
6a360 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:.
6a380 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
6a3a0 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
6a3c0 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:........................
6a3e0 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).
6a400 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:.....................
6a420 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...
6a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a460 20 20 20 20 20 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
6a480 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:..............
6a4a0 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...
6a4c0 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*:......
6a4e0 20 20 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.
6a500 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.................
6a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a540 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
6a560 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?:........................
6a580 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
6a5a0 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:....................
6a5c0 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
6a5e0 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 ................................
6a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a620 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?:........
6a640 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..
6a660 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:....
6a680 20 20 20 20 20 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
6a6a0 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).*.-
6a6c0 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:..........................
6a6e0 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
6a700 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:...................
6a720 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
6a740 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.............................
6a760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a780 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:.........
6a7a0 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
6a7c0 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....................
6a7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a800 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
6a820 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:...........................
6a840 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).
6a860 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:....................
6a880 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
6a8a0 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:............
6a8c0 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..
6a8e0 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:......
6a900 20 20 20 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
6a920 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
6a940 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:.............................
6a960 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
6a980 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:...............
6a9a0 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..
6a9c0 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:.....
6a9e0 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
6aa00 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:..
6aa20 20 20 20 20 20 20 20 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
6aa40 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).*
6aa60 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:.................
6aa80 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
6aaa0 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:..............
6aac0 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...
6aae0 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
6ab00 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
6ab20 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
6ab40 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:........................
6ab60 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
6ab80 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:...............
6aba0 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............
6abc0 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:....
6abe0 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...
6ac00 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:..
6ac20 20 20 20 20 20 20 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
6ac40 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).*.
6ac60 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:....................
6ac80 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....
6aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6acc0 20 20 20 20 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
6ace0 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:...............
6ad00 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
6ad20 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:..
6ad40 20 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
6ad60 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
6ad80 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:.......................
6ada0 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
6adc0 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:...........
6ade0 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.............
6ae00 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:............
6ae20 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
6ae40 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.......................
6ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6ae80 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
6aea0 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
6aec0 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..............
6aee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6af00 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).*.-
6af20 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:............................
6af40 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.....
6af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6af80 20 20 20 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
6afa0 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:.................
6afc0 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
6afe0 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.............................
6b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b020 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:.......
6b040 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
6b060 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
6b080 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:............................
6b0a0 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).
6b0c0 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:........................
6b0e0 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...
6b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b120 20 20 20 20 20 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
6b140 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:.........
6b160 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
6b180 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..........................
6b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b1c0 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:.
6b1e0 20 20 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
6b200 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
6b220 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:..........................
6b240 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
6b260 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:.................
6b280 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........
6b2a0 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:..........
6b2c0 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....
6b2e0 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*:
6b300 20 20 20 20 20 20 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
6b320 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).*.
6b340 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:.........................
6b360 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
6b380 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:............
6b3a0 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....
6b3c0 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:..
6b3e0 20 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
6b400 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..................
6b420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b440 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
6b460 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:..........................
6b480 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.........
6b4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b4c0 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
6b4e0 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:..............
6b500 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.......
6b520 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:.............
6b540 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
6b560 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.......................
6b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b5a0 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?
6b5c0 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
6b5e0 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).*.-
6b600 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?:.....................
6b620 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
6b640 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?:............
6b660 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.......
6b680 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:......
6b6a0 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
6b6c0 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
6b6e0 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:...........................
6b700 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...........
6b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b740 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).
6b760 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:........................
6b780 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...
6b7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b7c0 20 20 20 20 20 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
6b7e0 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:................
6b800 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...
6b820 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:.....
6b840 20 20 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
6b860 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
6b880 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:..............................
6b8a0 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........
6b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b8e0 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
6b900 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:................
6b920 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
6b940 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...............................
6b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b980 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:.............
6b9a0 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....
6b9c0 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*:...
6b9e0 20 20 20 20 20 20 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
6ba00 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).*.
6ba20 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:..........................
6ba40 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....
6ba60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6ba80 20 20 20 20 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
6baa0 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:..................
6bac0 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............
6bae0 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:...
6bb00 20 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...
6bb20 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-
6bb40 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:........................
6bb60 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
6bb80 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:..................
6bba0 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.................
6bbc0 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:.........
6bbe0 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........
6bc00 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:..
6bc20 20 20 20 20 20 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
6bc40 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).*.-
6bc60 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:............................
6bc80 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
6bca0 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:................
6bcc0 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.......
6bce0 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:..........
6bd00 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
6bd20 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
6bd40 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:..............................
6bd60 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)
6bd80 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:....................
6bda0 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....(
6bdc0 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?:.............
6bde0 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...
6be00 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:......
6be20 20 20 20 20 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
6be40 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................
6be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6be80 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
6bea0 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 :...............................
6bec0 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........
6bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6bf00 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
6bf20 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?:...............
6bf40 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..........
6bf60 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:............
6bf80 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
6bfa0 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.......................
6bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6bfe0 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:.....
6c000 20 20 20 20 20 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
6c020 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..............
6c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c060 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).*.-
6c080 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:........................
6c0a0 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......
6c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c0e0 20 20 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.
6c100 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:..............
6c120 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......
6c140 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
6c160 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
6c180 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
6c1a0 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:.................
6c1c0 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).
6c1e0 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:...............
6c200 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
6c220 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
6c240 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..
6c260 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
6c280 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
6c2a0 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
6c2c0 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:............
6c2e0 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
6c300 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:............
6c320 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.......
6c340 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
6c360 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
6c380 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
6c3a0 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
6c3c0 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).*
6c3e0 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:.................
6c400 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
6c420 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:............
6c440 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.
6c460 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:.....
6c480 20 20 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
6c4a0 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..................
6c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c4e0 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
6c500 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:............................
6c520 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
6c540 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:....................
6c560 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...........
6c580 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:......
6c5a0 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..
6c5c0 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:
6c5e0 20 20 20 20 20 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
6c600 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).*.-
6c620 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:..................
6c640 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
6c660 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:............
6c680 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.......
6c6a0 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
6c6c0 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
6c6e0 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
6c700 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:........................
6c720 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)
6c740 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:..........
6c760 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...........(
6c780 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:............
6c7a0 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
6c7c0 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:
6c7e0 20 20 20 20 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
6c800 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
6c820 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:...............
6c840 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.
6c860 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:...........
6c880 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.
6c8a0 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:...
6c8c0 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
6c8e0 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
6c900 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:..........................
6c920 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).
6c940 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:......................
6c960 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..
6c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c9a0 20 20 20 20 20 20 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
6c9c0 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:............
6c9e0 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..
6ca00 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:
6ca20 20 20 20 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.
6ca40 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
6ca60 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:....................
6ca80 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..
6caa0 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:............
6cac0 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.......
6cae0 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:.........
6cb00 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
6cb20 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.....................
6cb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cb60 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-
6cb80 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
6cba0 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.............
6cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cbe0 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).*.
6cc00 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:......................
6cc20 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.....
6cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cc60 20 20 20 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
6cc80 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:.......
6cca0 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.......
6ccc0 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:..
6cce0 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
6cd00 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-
6cd20 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?:.........................
6cd40 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)
6cd60 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:................
6cd80 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.
6cda0 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 ................................
6cdc0 20 20 20 20 20 20 20 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 ...............................(
6cde0 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:.
6ce00 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
6ce20 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
6ce40 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
6ce60 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
6ce80 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:..................
6cea0 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.
6cec0 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:...............
6cee0 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......
6cf00 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:..........
6cf20 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..
6cf40 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:
6cf60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cf80 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).
6cfa0 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:........................
6cfc0 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..
6cfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d000 20 20 20 20 20 20 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
6d020 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:...............
6d040 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....
6d060 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-->:...
6d080 20 20 20 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
6d0a0 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
6d0c0 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->:...........................
6d0e0 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..
6d100 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->>:.................
6d120 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...
6d140 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:...........
6d160 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
6d180 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.....................
6d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d1c0 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:
6d1e0 20 20 20 20 20 20 20 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
6d200 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).*
6d220 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:..................
6d240 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
6d260 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:............
6d280 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...
6d2a0 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:...
6d2c0 20 20 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
6d2e0 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
6d300 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:........................
6d320 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
6d340 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:...............
6d360 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........
6d380 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:.............
6d3a0 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.
6d3c0 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:..
6d3e0 20 20 20 20 20 20 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
6d400 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.............
6d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d440 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).*.
6d460 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:....................
6d480 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....
6d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d4c0 20 20 20 20 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
6d4e0 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:................
6d500 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......
6d520 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:........
6d540 20 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
6d560 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
6d580 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:..........................
6d5a0 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
6d5c0 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:................
6d5e0 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....
6d600 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:.......
6d620 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
6d640 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.......................
6d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d680 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:
6d6a0 20 20 20 20 20 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
6d6c0 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).*.-
6d6e0 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:.................
6d700 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
6d720 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:........
6d740 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..
6d760 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
6d780 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
6d7a0 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-
6d7c0 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:.........................
6d7e0 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)
6d800 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:...........
6d820 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......(
6d840 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:..........
6d860 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
6d880 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:...
6d8a0 20 20 20 20 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
6d8c0 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
6d8e0 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:...........................
6d900 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.
6d920 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:..................
6d940 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
6d960 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.............................
6d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d9a0 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:.....
6d9c0 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
6d9e0 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
6da00 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:.............................
6da20 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).
6da40 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*:...................
6da60 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
6da80 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:................
6daa0 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
6dac0 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.........................
6dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6db00 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:..
6db20 20 20 20 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
6db40 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................
6db60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6db80 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
6dba0 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:........................
6dbc0 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.......
6dbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6dc00 20 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
6dc20 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:................
6dc40 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
6dc60 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..............................
6dc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6dca0 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
6dcc0 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
6dce0 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........
6dd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6dd20 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...
6dd40 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:.
6dd60 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..
6dd80 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
6dda0 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
6ddc0 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.........
6dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6de00 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
6de20 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
6de40 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
6de60 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
6de80 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
6dea0 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
6dec0 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
6dee0 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
6df00 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
6df20 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
6df40 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
6df60 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
6df80 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:.-
6dfa0 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
6dfc0 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:
6dfe0 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
6e000 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.
6e020 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
6e040 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
6e060 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
6e080 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
6e0a0 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
6e0c0 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:.-
6e0e0 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
6e100 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-
6e120 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.
6e140 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
6e160 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
6e180 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
6e1a0 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
6e1c0 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:.
6e1e0 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
6e200 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
6e220 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
6e240 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
6e260 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
6e280 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:.
6e2a0 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
6e2c0 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
6e2e0 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
6e300 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
6e320 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
6e340 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
6e360 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:.
6e380 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
6e3a0 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:.
6e3c0 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
6e3e0 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
6e400 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
6e420 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
6e440 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
6e460 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
6e480 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:.-
6e4a0 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
6e4c0 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.
6e4e0 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
6e500 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
6e520 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:
6e540 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
6e560 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.
6e580 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
6e5a0 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
6e5c0 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:.-
6e5e0 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.
6e600 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:
6e620 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
6e640 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
6e660 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
6e680 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
6e6a0 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
6e6c0 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
6e6e0 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
6e700 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
6e720 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
6e740 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
6e760 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
6e780 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
6e7a0 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
6e7c0 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
6e7e0 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
6e800 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
6e820 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
6e840 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.
6e860 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:.
6e880 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
6e8a0 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
6e8c0 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
6e8e0 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
6e900 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
6e920 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
6e940 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
6e960 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
6e980 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
6e9a0 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.
6e9c0 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
6e9e0 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
6ea00 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
6ea20 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
6ea40 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
6ea60 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.
6ea80 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
6eaa0 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
6eac0 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
6eae0 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
6eb00 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
6eb20 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
6eb40 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
6eb60 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
6eb80 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
6eba0 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
6ebc0 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
6ebe0 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
6ec00 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
6ec20 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
6ec40 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
6ec60 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
6ec80 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
6eca0 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:.
6ecc0 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
6ece0 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
6ed00 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
6ed20 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.
6ed40 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
6ed60 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
6ed80 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
6eda0 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
6edc0 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
6ede0 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
6ee00 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.
6ee20 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:.-
6ee40 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.
6ee60 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
6ee80 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
6eea0 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.
6eec0 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
6eee0 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.
6ef00 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:.-
6ef20 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
6ef40 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
6ef60 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
6ef80 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
6efa0 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
6efc0 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
6efe0 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
6f000 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:..................
6f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f200 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.................
6f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f260 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
6f280 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...
6f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f300 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...................
6f320 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...................
6f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f400 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
6f420 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
6f440 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
6f460 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
6f480 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
6f4a0 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
6f4c0 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
6f4e0 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
6f500 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
6f520 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
6f540 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,.
6f560 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
6f580 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
6f5a0 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
6f5c0 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.
6f5e0 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
6f600 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
6f620 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).........
6f640 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
6f660 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.........................
6f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f800 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.........
6f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f860 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
6f880 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...
6f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f900 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...................
6f920 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...................
6f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa00 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/*...........................
6fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc00 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............
6fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc60 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
6fc80 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...
6fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fd00 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...................
6fd20 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...................
6fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fe00 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
6fe20 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
6fe40 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
6fe60 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
6fe80 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
6fea0 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
6fec0 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.
6fee0 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
6ff00 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.#.
6ff20 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
6ff40 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
6ff60 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.
6ff80 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
6ffa0 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
6ffc0 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
6ffe0 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..
70000 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
70020 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.
70040 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
70060 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.#.
70080 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
700a0 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
700c0 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
700e0 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
70100 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
70120 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
70140 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.
70160 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
70180 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/*.
701a0 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)
701c0 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
701e0 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
70200 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.
70220 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
70240 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.
70260 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
70280 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").
702a0 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
702c0 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
702e0 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
70300 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
70320 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
70340 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
70360 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
70380 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
703a0 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
703c0 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..
703e0 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
70400 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
70420 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
70440 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.
70460 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
70480 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
704a0 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
704c0 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.$
704e0 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)
70500 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
70520 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.:=.'(
70540 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.
70560 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.
70580 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.
705a0 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.$
705c0 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.$<.
705e0 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...............
70600 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................
70620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70660 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
70680 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...
706a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
706c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
706e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70700 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...................
70720 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...................
70740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
707a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
707c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
707e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70800 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")........
70820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
708a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
708c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
708e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
709a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
709c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
709e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70a00 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...........
70a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70a60 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
70a80 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...
70aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70b00 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...................
70b20 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...................
70b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c00 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
70c20 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
70c40 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.
70c60 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
70c80 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
70ca0 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.
70cc0 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
70ce0 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
70d00 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
70d20 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
70d40 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
70d60 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
70d80 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
70da0 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
70dc0 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
70de0 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
70e00 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
70e20 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
70e40 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
70e60 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
70e80 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
70ea0 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
70ec0 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.
70ee0 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)...*
70f00 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
70f20 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
70f40 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
70f60 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]
70f80 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](#
70fa0 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
70fc0 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
70fe0 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
71000 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
71020 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
71040 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
71060 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
71080 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
710a0 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.
710c0 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
710e0 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.
71100 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
71120 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.
71140 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
71160 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
71180 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
711a0 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
711c0 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...
711e0 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
71200 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
71220 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:
71240 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
71260 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
71280 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.
712a0 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`:......
712c0 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
712e0 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
71300 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/
71320 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/
71340 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)
71360 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
71380 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
713a0 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
713c0 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
713e0 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
71400 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)
71420 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
71440 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
71460 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
71480 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.[`
714a0 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")
714c0 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
714e0 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
71500 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
71520 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
71540 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
71560 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
71580 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
715a0 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.
715c0 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
715e0 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
71600 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.
71620 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
71640 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
71660 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.
71680 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
716a0 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
716c0 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
716e0 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
71700 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
71720 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
71740 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
71760 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
71780 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
717a0 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.
717c0 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
717e0 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
71800 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
71820 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
71840 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
71860 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
71880 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,
718a0 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
718c0 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:..```
718e0 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
71900 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
71920 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
71940 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
71960 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.
71980 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.
719a0 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
719c0 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
719e0 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
71a00 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
71a20 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
71a40 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
71a60 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`
71a80 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
71aa0 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
71ac0 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
71ae0 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
71b00 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)
71b20 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
71b40 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
71b60 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.
71b80 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
71ba0 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.
71bc0 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
71be0 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
71c00 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)).```..
71c20 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
71c40 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
71c60 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
71c80 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
71ca0 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
71cc0 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
71ce0 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
71d00 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
71d20 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
71d40 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`](#-
71d60 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
71d80 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
71da0 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
71dc0 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
71de0 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
71e00 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
71e20 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
71e40 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).`(
71e60 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
71e80 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)
71ea0 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
71ec0 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
71ee0 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
71f00 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
71f20 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)`..###
71f40 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
71f60 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
71f80 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-
71fa0 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
71fc0 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
71fe0 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
72000 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
72020 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
72040 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)`.*
72060 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-
72080 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
720a0 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)`
720c0 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-
720e0 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
72100 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`](#-
72120 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
72140 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
72160 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
72180 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`](#
721a0 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)`.*.
721c0 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
721e0 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-
72200 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).
72220 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
72240 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
72260 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
72280 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
722a0 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)
722c0 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-
722e0 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
72300 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
72320 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.
72340 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
72360 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
72380 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
723a0 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
723c0 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`](#
723e0 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)
72400 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
72420 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
72440 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
72460 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)`.*.
72480 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
724a0 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)`.
724c0 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
724e0 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
72500 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
72520 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
72540 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
72560 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
72580 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-
725a0 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
725c0 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)`.
725e0 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
72600 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
72620 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
72640 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
72660 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
72680 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
726a0 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)`.*.[
726c0 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
726e0 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
72700 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
72720 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
72740 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)`
72760 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
72780 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
727a0 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`](#
727c0 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)`
727e0 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
72800 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
72820 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.
72840 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).`(
72860 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
72880 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
728a0 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)`.*
728c0 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-
728e0 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
72900 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)`.*.[`-
72920 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)`.*
72940 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
72960 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)`.
72980 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
729a0 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)`
729c0 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)`
729e0 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
72a00 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)`.*.[
72a20 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)`.*.[
72a40 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
72a60 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
72a80 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
72aa0 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
72ac0 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
72ae0 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.
72b00 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
72b20 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
72b40 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
72b60 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.
72b80 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
72ba0 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
72bc0 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
72be0 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
72c00 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)
72c20 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
72c40 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
72c60 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.
72c80 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-
72ca0 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)`.*.
72cc0 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
72ce0 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
72d00 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
72d20 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
72d40 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).`
72d60 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?`]
72d80 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
72da0 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-
72dc0 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)`
72de0 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
72e00 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
72e20 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.
72e40 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...*.[`
72e60 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).`
72e80 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
72ea0 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)
72ec0 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
72ee0 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
72f00 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).`(
72f20 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
72f40 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)`.*.
72f60 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
72f80 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
72fa0 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
72fc0 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`](
72fe0 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
73000 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
73020 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-
73040 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
73060 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
73080 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)`.*.
730a0 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
730c0 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
730e0 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`](
73100 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
73120 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
73140 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-
73160 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)`.*.
73180 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
731a0 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).`(
731c0 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
731e0 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
73200 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
73220 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
73240 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
73260 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.
73280 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
732a0 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
732c0 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)`.*.
732e0 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
73300 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
73320 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
73340 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
73360 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-
73380 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
733a0 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
733c0 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`](
733e0 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
73400 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`
73420 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).
73440 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
73460 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
73480 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
734a0 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)`.
734c0 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
734e0 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
73500 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
73520 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
73540 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)
73560 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
73580 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
735a0 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)`..#
735c0 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.
735e0 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
73600 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`
73620 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)`.*.
73640 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)
73660 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)
73680 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
736a0 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
736c0 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
736e0 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).
73700 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`](#
73720 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.
73740 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
73760 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
73780 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
737a0 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).
737c0 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`](#-
737e0 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)`.
73800 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
73820 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
73840 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
73860 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
73880 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
738a0 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
738c0 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
738e0 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
73900 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`](
73920 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
73940 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
73960 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
73980 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-
739a0 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
739c0 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
739e0 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
73a00 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
73a20 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
73a40 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
73a60 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
73a80 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)`
73aa0 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-
73ac0 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`](
73ae0 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)`.*.[`-
73b00 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
73b20 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
73b40 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)`.*.[`-
73b60 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)`.*.[`-
73b80 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)`
73ba0 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
73bc0 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...*.
73be0 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-
73c00 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
73c20 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
73c40 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
73c60 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
73c80 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)`.
73ca0 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
73cc0 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-
73ce0 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
73d00 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
73d20 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`
73d40 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
73d60 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-
73d80 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
73da0 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
73dc0 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)`.
73de0 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
73e00 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
73e20 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
73e40 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
73e60 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
73e80 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.
73ea0 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
73ec0 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
73ee0 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)`.*.[`--
73f00 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.
73f20 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-
73f40 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
73f60 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->`
73f80 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
73fa0 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
73fc0 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
73fe0 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
74000 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
74020 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).
74040 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`]
74060 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.
74080 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
740a0 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*`
740c0 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
740e0 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
74100 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)
74120 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*`](#
74140 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).`
74160 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-
74180 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
741a0 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
741c0 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
741e0 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
74200 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`](
74220 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
74240 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
74260 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.&
74280 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
742a0 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
742c0 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`](#
742e0 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
74300 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
74320 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
74340 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
74360 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)`.
74380 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
743a0 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)`.*.
743c0 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
743e0 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-
74400 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)
74420 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
74440 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
74460 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
74480 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
744a0 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.
744c0 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
744e0 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)`
74500 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)`.
74520 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
74540 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
74560 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`
74580 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
745a0 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`](#-
745c0 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
745e0 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
74600 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
74620 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
74640 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
74660 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
74680 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
746a0 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`](
746c0 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)`.*.[
746e0 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)`.*.[`-
74700 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
74720 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)
74740 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
74760 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
74780 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
747a0 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
747c0 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
747e0 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
74800 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
74820 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`]
74840 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)
74860 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
74880 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
748a0 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
748c0 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
748e0 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
74900 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.
74920 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
74940 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
74960 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
74980 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
749a0 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
749c0 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).
749e0 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)).;;.=>.(
74a00 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))
74a20 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
74a40 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).`
74a60 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
74a80 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
74aa0 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
74ac0 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
74ae0 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
74b00 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
74b20 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.
74b40 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
74b60 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
74b80 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).
74ba0 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
74bc0 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).(-
74be0 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
74c00 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
74c20 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)).;;
74c40 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
74c60 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
74c80 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.`
74ca0 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
74cc0 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
74ce0 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
74d00 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
74d20 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
74d40 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
74d60 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.
74d80 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)).;
74da0 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
74dc0 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.
74de0 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.
74e00 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
74e20 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
74e40 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
74e60 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
74e80 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
74ea0 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
74ec0 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?.
74ee0 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
74f00 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.
74f20 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)
74f40 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
74f60 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).```..####.
74f80 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.
74fa0 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.`
74fc0 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
74fe0 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
75000 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
75020 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
75040 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
75060 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
75080 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
750a0 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
750c0 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
750e0 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)..
75100 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
75120 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.
75140 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
75160 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))
75180 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.#
751a0 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).
751c0 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)`.
751e0 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
75200 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.
75220 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
75240 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
75260 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
75280 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..
752a0 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"."
752c0 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"
752e0 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
75300 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
75320 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)).;;.=>.(
75340 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..
75360 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
75380 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
753a0 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
753c0 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`
753e0 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
75400 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.
75420 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.`,@`.
75440 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
75460 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
75480 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
754a0 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
754c0 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
754e0 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)..`
75500 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)
75520 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)).;;.=>.(
75540 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.
75560 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.
75580 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.:
755a0 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
755c0 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))
755e0 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).(
75600 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)).```..####
75620 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
75640 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
75660 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.
75680 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`](#
756a0 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
756c0 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)..``
756e0 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.
75700 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
75720 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.
75740 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
75760 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).'
75780 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).``
757a0 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
757c0 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
757e0 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`.
75800 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
75820 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.
75840 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
75860 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)).'
75880 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).(--
758a0 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)).;;.
758c0 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
758e0 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
75900 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.
75920 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
75940 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
75960 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
75980 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
759a0 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.`
759c0 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.
759e0 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
75a00 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:
75a20 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
75a40 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`
75a60 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
75a80 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
75aa0 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
75ac0 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)
75ae0 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)).;;
75b00 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.'(-
75b20 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
75b40 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)).
75b60 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.`(
75b80 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
75ba0 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.
75bc0 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
75be0 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
75c00 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
75c20 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.[
75c40 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.[`-
75c60 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)...`
75c80 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
75ca0 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)).;;.=>.(
75cc0 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.
75ce0 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.
75d00 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)).;;.=>
75d20 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.`
75d40 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
75d60 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`
75d80 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-
75da0 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.
75dc0 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
75de0 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
75e00 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
75e20 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
75e40 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
75e60 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
75e80 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
75ea0 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.[`-
75ec0 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
75ee0 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
75f00 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
75f20 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)
75f40 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
75f60 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
75f80 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
75fa0 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
75fc0 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
75fe0 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
76000 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
76020 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
76040 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
76060 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
76080 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
760a0 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
760c0 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
760e0 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.`--
76100 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
76120 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),
76140 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-
76160 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`
76180 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)...``
761a0 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.
761c0 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.
761e0 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
76200 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")).;;.=>
76220 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.(>.
76240 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)).;
76260 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).```..##
76280 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
762a0 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.
762c0 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
762e0 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
76300 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
76320 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)
76340 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
76360 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
76380 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
763a0 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").
763c0 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
763e0 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
76400 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
76420 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.
76440 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-
76460 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
76480 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
764a0 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
764c0 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
764e0 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.
76500 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
76520 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
76540 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
76560 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,
76580 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.
765a0 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...
765c0 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.'(
765e0 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).(-
76600 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
76620 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.
76640 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).```..
76660 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.
76680 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.`
766a0 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
766c0 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
766e0 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
76700 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`](#
76720 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
76740 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).
76760 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
76780 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))
767a0 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.`
767c0 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.
767e0 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
76800 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
76820 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
76840 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.
76860 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
76880 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
768a0 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
768c0 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
768e0 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)
76900 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.
76920 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
76940 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
76960 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`
76980 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
769a0 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
769c0 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
769e0 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-
76a00 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
76a20 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
76a40 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
76a60 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).```..
76a80 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
76aa0 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.
76ac0 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
76ae0 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..
76b00 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
76b20 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:.[`-
76b40 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.(-
76b60 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)).;;.=>.
76b80 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
76ba0 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.
76bc0 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).```..#
76be0 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
76c00 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`
76c20 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
76c40 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
76c60 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
76c80 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.
76ca0 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`
76cc0 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
76ce0 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
76d00 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
76d20 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
76d40 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
76d60 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)).;;.=
76d80 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.
76da0 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.
76dc0 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)).;;.=>
76de0 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.`
76e00 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
76e20 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`
76e40 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
76e60 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.
76e80 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`.
76ea0 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.
76ec0 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
76ee0 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
76f00 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
76f20 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
76f40 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)..
76f60 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.
76f80 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
76fa0 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)).;;.=>.(
76fc0 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.
76fe0 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).``
77000 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
77020 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
77040 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
77060 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
77080 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.(
770a0 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)
770c0 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"."
770e0 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".
77100 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
77120 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")).;;
77140 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
77160 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"."
77180 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".
771a0 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").```..####.-
771c0 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)`
771e0 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`.
77200 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
77220 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
77240 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
77260 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
77280 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
772a0 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
772c0 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
772e0 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
77300 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
77320 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
77340 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.
77360 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).(
77380 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.'
773a0 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)
773c0 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
773e0 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).(
77400 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).
77420 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
77440 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.
77460 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
77480 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
774a0 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
774c0 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
774e0 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.
77500 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-
77520 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
77540 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`
77560 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
77580 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.'((
775a0 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))).;;.=
775c0 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.
775e0 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.
77600 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
77620 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
77640 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
77660 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
77680 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
776a0 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
776c0 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.
776e0 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`
77700 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.
77720 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.'(
77740 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)
77760 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.(>
77780 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))
777a0 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.(
777c0 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
777e0 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
77800 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.
77820 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.
77840 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.
77860 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)).;
77880 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)).;;.
778a0 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).'(
778c0 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
778e0 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
77900 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.
77920 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.
77940 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.
77960 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)
77980 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
779a0 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
779c0 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
779e0 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-
77a00 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
77a20 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
77a40 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
77a60 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
77a80 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
77aa0 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
77ac0 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.'(
77ae0 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.(
77b00 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
77b20 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))).
77b40 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
77b60 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.`
77b80 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`..
77ba0 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
77bc0 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
77be0 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.(
77c00 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
77c20 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
77c40 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
77c60 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
77c80 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
77ca0 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
77cc0 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
77ce0 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`.
77d00 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
77d20 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
77d40 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)).;;.=
77d60 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.
77d80 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"."
77da0 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")).;;.=>.
77dc0 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
77de0 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).;
77e00 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
77e20 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.
77e40 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.`
77e60 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
77e80 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:
77ea0 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
77ec0 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
77ee0 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)).;;.=>.
77f00 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
77f20 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"
77f40 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")).;;.=
77f60 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"."
77f80 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.
77fa0 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
77fc0 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
77fe0 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`.
78000 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.
78020 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
78040 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-
78060 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-
78080 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)).;;.
780a0 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
780c0 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
780e0 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")).;;
78100 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"
78120 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
78140 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
78160 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
78180 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`
781a0 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:.[`-
781c0 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)
781e0 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
78200 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
78220 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.
78240 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
78260 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
78280 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.
782a0 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
782c0 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`.
782e0 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
78300 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
78320 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)).;;.=>.(
78340 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.'(
78360 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
78380 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
783a0 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).```..####
783c0 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
783e0 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
78400 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
78420 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
78440 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
78460 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
78480 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.
784a0 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
784c0 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
784e0 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)
78500 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
78520 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")).;;.=>.(
78540 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").```..####.
78560 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.
78580 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
785a0 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
785c0 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
785e0 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
78600 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)..```
78620 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"."
78640 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".
78660 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"
78680 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
786a0 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.'("
786c0 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")).;;.=>.(
786e0 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").```..####.-
78700 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
78720 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
78740 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
78760 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
78780 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`..
787a0 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
787c0 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
787e0 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
78800 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"
78820 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
78840 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
78860 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")).
78880 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-
788a0 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"
788c0 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
788e0 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
78900 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
78920 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)...#
78940 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)
78960 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
78980 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`.
789a0 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.`
789c0 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
789e0 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
78a00 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.
78a20 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
78a40 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
78a60 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
78a80 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`
78aa0 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.[`-
78ac0 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.[
78ae0 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)
78b00 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.'(
78b20 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.#'
78b40 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)
78b60 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
78b80 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")
78ba0 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".```..####.
78bc0 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)`.
78be0 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
78c00 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
78c20 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
78c40 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
78c60 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
78c80 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.
78ca0 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.
78cc0 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
78ce0 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
78d00 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
78d20 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
78d40 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
78d60 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
78d80 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
78da0 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
78dc0 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
78de0 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
78e00 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.
78e20 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
78e40 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
78e60 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`
78e80 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.
78ea0 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
78ec0 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
78ee0 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
78f00 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`.
78f20 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
78f40 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
78f60 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).
78f80 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.'
78fa0 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
78fc0 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.(
78fe0 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
79000 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".
79020 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".```..###
79040 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
79060 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
79080 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
790a0 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.`
790c0 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
790e0 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,.
79100 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
79120 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
79140 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
79160 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`.
79180 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
791a0 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.`--
791c0 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
791e0 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
79200 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
79220 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.(
79240 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
79260 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)).;;.
79280 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
792a0 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)).;;.
792c0 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.`
792e0 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.
79300 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
79320 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
79340 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
79360 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.
79380 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
793a0 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
793c0 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`
793e0 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
79400 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
79420 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
79440 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.
79460 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
79480 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.
794a0 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
794c0 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
794e0 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
79500 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.
79520 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
79540 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
79560 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
79580 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
795a0 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
795c0 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
795e0 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
79600 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
79620 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.`--
79640 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
79660 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
79680 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
796a0 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
796c0 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)).;;.=
796e0 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
79700 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
79720 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
79740 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
79760 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)`..
79780 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
797a0 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
797c0 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
797e0 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
79800 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
79820 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
79840 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
79860 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
79880 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
798a0 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
798c0 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
798e0 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
79900 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
79920 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)).;;.=>.
79940 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.#'
79960 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
79980 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."(
799a0 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.
799c0 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)".
799e0 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
79a00 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
79a20 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)`.
79a40 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
79a60 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
79a80 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.
79aa0 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
79ac0 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`](#
79ae0 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
79b00 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
79b20 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
79b40 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
79b60 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
79b80 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
79ba0 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-
79bc0 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)...``
79be0 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.
79c00 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).(-
79c20 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.
79c40 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
79c60 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
79c80 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)).;;.=
79ca0 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)))"."
79cc0 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)
79ce0 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.
79d00 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
79d20 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
79d40 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
79d60 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
79d80 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
79da0 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
79dc0 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
79de0 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
79e00 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
79e20 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`]
79e40 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
79e60 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
79e80 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.#'+.'(
79ea0 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
79ec0 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
79ee0 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."
79f00 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)).;;
79f20 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).
79f40 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
79f60 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`'
79f80 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
79fa0 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
79fc0 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.
79fe0 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
7a000 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
7a020 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
7a040 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
7a060 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`
7a080 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.[`-
7a0a0 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
7a0c0 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
7a0e0 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).
7a100 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
7a120 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
7a140 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
7a160 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
7a180 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))
7a1a0 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
7a1c0 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.
7a1e0 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
7a200 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)
7a220 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
7a240 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
7a260 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.`
7a280 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
7a2a0 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.(
7a2c0 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.(
7a2e0 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.```..#
7a300 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
7a320 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
7a340 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
7a360 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.'(
7a380 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
7a3a0 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
7a3c0 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
7a3e0 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
7a400 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
7a420 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.()).;;
7a440 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.(-
7a460 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.```
7a480 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)`
7a4a0 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
7a4c0 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`
7a4e0 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
7a500 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)).;;.=>.(
7a520 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)
7a540 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.()
7a560 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,
7a580 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)`..
7a5a0 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`...
7a5c0 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)).;;.=>.
7a5e0 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)
7a600 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
7a620 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)).```..##
7a640 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
7a660 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
7a680 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
7a6a0 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
7a6c0 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)).;;.=
7a6e0 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
7a700 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
7a720 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
7a740 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)).
7a760 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)
7a780 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
7a7a0 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
7a7c0 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
7a7e0 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
7a800 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.`
7a820 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.'
7a840 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.'
7a860 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)).;;.=>.().(-
7a880 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
7a8a0 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).```..####.
7a8c0 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
7a8e0 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.
7a900 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)).;
7a920 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.(
7a940 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.```..####
7a960 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
7a980 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
7a9a0 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
7a9c0 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
7a9e0 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
7aa00 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
7aa20 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
7aa40 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
7aa60 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
7aa80 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
7aaa0 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))).;;.=>.
7aac0 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)
7aae0 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).(
7ab00 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.
7ab20 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
7ab40 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
7ab60 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
7ab80 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.'
7aba0 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-
7abc0 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
7abe0 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`.
7ac00 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
7ac20 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.
7ac40 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
7ac60 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)
7ac80 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.
7aca0 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.(-
7acc0 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.(-
7ace0 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))
7ad00 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.
7ad20 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
7ad40 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))
7ad60 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
7ad80 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
7ada0 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
7adc0 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.
7ade0 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...####
7ae00 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
7ae20 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
7ae40 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
7ae60 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
7ae80 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`.`
7aea0 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.
7aec0 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
7aee0 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
7af00 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
7af20 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.
7af40 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)
7af60 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).```..#
7af80 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.
7afa0 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`..
7afc0 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.[`-
7afe0 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):.
7b000 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.
7b020 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
7b040 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.
7b060 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
7b080 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
7b0a0 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
7b0c0 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
7b0e0 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
7b100 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
7b120 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
7b140 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
7b160 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
7b180 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.(
7b1a0 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)).;
7b1c0 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
7b1e0 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.(
7b200 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)).;;.=>.
7b220 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)).``
7b240 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.
7b260 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
7b280 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)`.
7b2a0 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
7b2c0 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
7b2e0 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
7b300 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
7b320 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.(
7b340 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)).;;.=
7b360 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".
7b380 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")).;;.=>.
7b3a0 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
7b3c0 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.`(
7b3e0 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.`
7b400 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
7b420 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
7b440 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
7b460 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
7b480 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
7b4a0 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`
7b4c0 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.
7b4e0 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-
7b500 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
7b520 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
7b540 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
7b560 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
7b580 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.'(
7b5a0 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
7b5c0 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"))
7b5e0 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
7b600 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.```..####.
7b620 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
7b640 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
7b660 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:.`-
7b680 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`..```
7b6a0 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)).
7b6c0 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
7b6e0 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
7b700 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?
7b720 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
7b740 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`.
7b760 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
7b780 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
7b7a0 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,
7b7c0 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
7b7e0 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
7b800 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`](#
7b820 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
7b840 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
7b860 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
7b880 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
7b8a0 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?
7b8c0 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
7b8e0 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.(-
7b900 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
7b920 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)).;;.=
7b940 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
7b960 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?.
7b980 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
7b9a0 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`
7b9c0 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`..`
7b9e0 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)).;;
7ba00 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))
7ba20 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))
7ba40 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.```..####.-
7ba60 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
7ba80 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
7baa0 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.
7bac0 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
7bae0 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
7bb00 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.
7bb20 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
7bb40 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`
7bb60 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.
7bb80 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
7bba0 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
7bbc0 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.``
7bbe0 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
7bc00 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
7bc20 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.
7bc40 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
7bc60 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
7bc80 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`..`
7bca0 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).;;.
7bcc0 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).;;.
7bce0 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).;;.
7bd00 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?.`(
7bd20 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
7bd40 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
7bd60 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
7bd80 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
7bda0 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
7bdc0 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)).;;.
7bde0 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.
7be00 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.
7be20 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.```..
7be40 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)`
7be60 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.
7be80 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
7bea0 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?.
7bec0 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.(
7bee0 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
7bf00 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)
7bf20 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.```..##
7bf40 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)`..
7bf60 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.
7bf80 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
7bfa0 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?.'(
7bfc0 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
7bfe0 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))
7c000 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).'
7c020 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.```..####
7c040 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
7c060 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
7c080 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
7c0a0 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
7c0c0 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).
7c0e0 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
7c100 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
7c120 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.
7c140 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
7c160 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
7c180 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,
7c1a0 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
7c1c0 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
7c1e0 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
7c200 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)).
7c220 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)).;;.
7c240 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
7c260 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
7c280 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...####.-
7c2a0 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
7c2c0 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
7c2e0 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
7c300 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`
7c320 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.
7c340 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`
7c360 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
7c380 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)...
7c3a0 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
7c3c0 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
7c3e0 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),
7c400 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.
7c420 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.
7c440 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
7c460 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
7c480 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
7c4a0 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.
7c4c0 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)).
7c4e0 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
7c500 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
7c520 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.
7c540 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
7c560 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...```
7c580 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
7c5a0 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
7c5c0 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)).;;.=>.(
7c5e0 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
7c600 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.
7c620 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
7c640 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
7c660 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...
7c680 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
7c6a0 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.
7c6c0 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
7c6e0 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
7c700 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
7c720 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
7c740 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
7c760 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.|.
7c780 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
7c7a0 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
7c7c0 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.
7c7e0 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")).;;.=>.((
7c800 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
7c820 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
7c840 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")).;;.=>.(("
7c860 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
7c880 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.
7c8a0 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
7c8c0 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
7c8e0 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
7c900 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
7c920 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
7c940 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
7c960 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.
7c980 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
7c9a0 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
7c9c0 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)).;;.
7c9e0 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
7ca00 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
7ca20 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
7ca40 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
7ca60 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
7ca80 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
7caa0 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
7cac0 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`).(
7cae0 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.
7cb00 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.(-
7cb20 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
7cb40 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)).;;.=>.
7cb60 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.
7cb80 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)).;
7cba0 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
7cbc0 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)
7cbe0 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)).((
7cc00 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.`(
7cc20 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
7cc40 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
7cc60 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
7cc80 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.
7cca0 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
7ccc0 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
7cce0 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.
7cd00 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.'(
7cd20 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.
7cd40 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.
7cd60 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)
7cd80 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
7cda0 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
7cdc0 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.`
7cde0 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
7ce00 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
7ce20 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.
7ce40 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).(
7ce60 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.
7ce80 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.
7cea0 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.
7cec0 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.
7cee0 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-
7cf00 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.
7cf20 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
7cf40 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
7cf60 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
7cf80 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
7cfa0 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
7cfc0 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
7cfe0 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)
7d000 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
7d020 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))
7d040 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-
7d060 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)).;;.=>.((
7d080 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
7d0a0 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)
7d0c0 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
7d0e0 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
7d100 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`.
7d120 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
7d140 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.(
7d160 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.
7d180 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)
7d1a0 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
7d1c0 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
7d1e0 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.
7d200 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).(
7d220 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
7d240 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
7d260 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
7d280 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
7d2a0 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
7d2c0 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
7d2e0 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)).;;.=>
7d300 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)).(--
7d320 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.
7d340 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.
7d360 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
7d380 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
7d3a0 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.
7d3c0 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.
7d3e0 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
7d400 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
7d420 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
7d440 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
7d460 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
7d480 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
7d4a0 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
7d4c0 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.
7d4e0 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)).;;.=>.(
7d500 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
7d520 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.
7d540 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)
7d560 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
7d580 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)
7d5a0 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
7d5c0 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.
7d5e0 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
7d600 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-
7d620 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-
7d640 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.()).;;.=>.
7d660 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
7d680 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
7d6a0 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.'
7d6c0 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
7d6e0 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
7d700 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
7d720 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
7d740 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
7d760 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
7d780 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
7d7a0 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.'
7d7c0 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
7d7e0 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.
7d800 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)
7d820 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
7d840 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.
7d860 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`
7d880 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
7d8a0 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.()).;;.=>.(
7d8c0 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)
7d8e0 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
7d900 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)).```..#
7d920 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
7d940 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
7d960 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
7d980 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
7d9a0 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
7d9c0 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)).(-
7d9e0 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)).;;.
7da00 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
7da20 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
7da40 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
7da60 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`...
7da80 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`...`
7daa0 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?.()).;;.=>
7dac0 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.
7dae0 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).(
7db00 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
7db20 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".
7db40 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".
7db60 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
7db80 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
7dba0 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.
7dbc0 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-
7dbe0 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.
7dc00 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
7dc20 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
7dc40 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
7dc60 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...
7dc80 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
7dca0 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".
7dcc0 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.(-
7dce0 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
7dd00 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
7dd20 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.
7dd40 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.`
7dd60 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
7dd80 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...``
7dda0 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
7ddc0 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
7dde0 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")).
7de00 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).
7de20 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)).;;
7de40 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.
7de60 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.
7de80 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
7dea0 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
7dec0 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
7dee0 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
7df00 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
7df20 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
7df40 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)).
7df60 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).'
7df80 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
7dfa0 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.
7dfc0 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")).;;.
7dfe0 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.
7e000 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.
7e020 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
7e040 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.
7e060 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
7e080 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
7e0a0 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
7e0c0 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
7e0e0 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)
7e100 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.(<.
7e120 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)).;;.=>.
7e140 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
7e160 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"."
7e180 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
7e1a0 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
7e1c0 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
7e1e0 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
7e200 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.(
7e220 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
7e240 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
7e260 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.
7e280 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
7e2a0 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").
7e2c0 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).
7e2e0 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
7e300 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
7e320 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
7e340 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.
7e360 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
7e380 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
7e3a0 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.#'<
7e3c0 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.
7e3e0 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.
7e400 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
7e420 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.
7e440 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
7e460 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
7e480 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
7e4a0 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.
7e4c0 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
7e4e0 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
7e500 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
7e520 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)).;;.
7e540 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.
7e560 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
7e580 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)).;;.=>
7e5a0 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
7e5c0 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
7e5e0 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
7e600 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
7e620 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`.
7e640 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
7e660 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
7e680 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
7e6a0 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-
7e6c0 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
7e6e0 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
7e700 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).
7e720 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)).;;.
7e740 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
7e760 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
7e780 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.
7e7a0 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`..
7e7c0 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
7e7e0 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
7e800 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
7e820 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
7e840 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)).;;.=>.(
7e860 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).'
7e880 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).```..####
7e8a0 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
7e8c0 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
7e8e0 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
7e900 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
7e920 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
7e940 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.
7e960 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
7e980 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
7e9a0 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)).;;.=>.()
7e9c0 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
7e9e0 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
7ea00 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
7ea20 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
7ea40 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.'(
7ea60 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.
7ea80 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).```..#
7eaa0 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
7eac0 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`...
7eae0 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.()).;;.=>.(
7eb00 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)).;;.=
7eb20 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.'
7eb40 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).
7eb60 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))
7eb80 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
7eba0 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
7ebc0 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
7ebe0 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
7ec00 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
7ec20 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
7ec40 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
7ec60 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
7ec80 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
7eca0 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.
7ecc0 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
7ece0 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.
7ed00 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
7ed20 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
7ed40 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.
7ed60 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.
7ed80 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).
7eda0 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)).;;
7edc0 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.
7ede0 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
7ee00 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)
7ee20 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.`
7ee40 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`..
7ee60 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
7ee80 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).;;.=>.(:
7eea0 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).;;.=>.(:
7eec0 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.```.
7eee0 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
7ef00 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
7ef20 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
7ef40 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
7ef60 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
7ef80 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
7efa0 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..
7efc0 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...``
7efe0 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).(
7f000 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).(-
7f020 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
7f040 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
7f060 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
7f080 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
7f0a0 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.
7f0c0 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
7f0e0 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.
7f100 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.
7f120 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).;;.=>.
7f140 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).'(
7f160 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)).``
7f180 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)`.
7f1a0 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
7f1c0 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`.
7f1e0 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."-".()).;;.=
7f200 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")).;;.
7f220 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"."
7f240 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"."-".
7f260 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
7f280 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
7f2a0 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
7f2c0 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
7f2e0 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")).;;.=>.
7f300 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
7f320 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")).;;.=>.(
7f340 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
7f360 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.
7f380 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
7f3a0 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
7f3c0 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
7f3e0 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
7f400 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
7f420 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
7f440 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
7f460 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
7f480 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..
7f4a0 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.
7f4c0 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
7f4e0 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
7f500 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.`
7f520 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
7f540 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`
7f560 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
7f580 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
7f5a0 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.
7f5c0 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
7f5e0 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.
7f600 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
7f620 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
7f640 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
7f660 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.`
7f680 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
7f6a0 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)
7f6c0 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
7f6e0 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...
7f700 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.
7f720 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
7f740 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")
7f760 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
7f780 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.`(
7f7a0 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
7f7c0 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
7f7e0 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
7f800 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.
7f820 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
7f840 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
7f860 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
7f880 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
7f8a0 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
7f8c0 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
7f8e0 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.
7f900 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
7f920 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
7f940 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
7f960 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
7f980 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
7f9a0 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
7f9c0 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.
7f9e0 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
7fa00 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).
7fa20 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).'
7fa40 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)).```..####.-
7fa60 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.`
7fa80 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
7faa0 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
7fac0 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
7fae0 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
7fb00 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
7fb20 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
7fb40 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
7fb60 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
7fb80 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
7fba0 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.
7fbc0 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:.[
7fbe0 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
7fc00 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)).
7fc20 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-
7fc40 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)).;;.=>
7fc60 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
7fc80 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
7fca0 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
7fcc0 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
7fce0 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
7fd00 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
7fd20 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
7fd40 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
7fd60 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.
7fd80 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)).;;.=>
7fda0 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
7fdc0 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
7fde0 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
7fe00 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-
7fe20 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
7fe40 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
7fe60 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
7fe80 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
7fea0 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
7fec0 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.
7fee0 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.
7ff00 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.
7ff20 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
7ff40 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
7ff60 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)..
7ff80 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
7ffa0 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
7ffc0 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
7ffe0 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).(
80000 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.
80020 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)))
80040 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)).```..##
80060 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
80080 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`..
800a0 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
800c0 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
800e0 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.(
80100 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))).;;.=>
80120 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.'(
80140 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.
80160 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
80180 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
801a0 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.&
801c0 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
801e0 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
80200 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
80220 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
80240 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))
80260 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).'(
80280 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)).``
802a0 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)
802c0 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
802e0 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
80300 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
80320 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
80340 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
80360 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
80380 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
803a0 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.
803c0 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.
803e0 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
80400 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
80420 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.
80440 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.
80460 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
80480 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.'*.
804a0 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
804c0 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
804e0 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
80500 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)).
80520 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.
80540 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)))).```..#
80560 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
80580 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
805a0 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`...
805c0 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
805e0 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
80600 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
80620 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
80640 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
80660 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
80680 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
806a0 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.
806c0 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
806e0 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:......(-
80700 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
80720 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
80740 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
80760 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
80780 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),.[`
807a0 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).
807c0 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.
807e0 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).
80800 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
80820 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
80840 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
80860 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
80880 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.
808a0 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.
808c0 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)).``
808e0 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
80900 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
80920 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..
80940 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
80960 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
80980 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
809a0 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.
809c0 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
809e0 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.#'
80a00 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
80a20 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.(-
80a40 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)).;;.=>.
80a60 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)`.
80a80 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
80aa0 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
80ac0 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
80ae0 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
80b00 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.(--
80b20 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
80b40 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"
80b60 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
80b80 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
80ba0 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
80bc0 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-
80be0 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
80c00 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)...`
80c20 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)).;;.=
80c40 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.
80c60 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
80c80 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).;;.
80ca0 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
80cc0 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
80ce0 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
80d00 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
80d20 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)...```
80d40 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)).;;.=>
80d60 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.
80d80 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)`..
80da0 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`,
80dc0 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..
80de0 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
80e00 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-
80e20 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
80e40 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
80e60 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
80e80 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.
80ea0 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:.
80ec0 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
80ee0 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
80f00 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).
80f20 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.
80f40 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.
80f60 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
80f80 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
80fa0 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.(-
80fc0 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
80fe0 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.```
81000 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
81020 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
81040 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
81060 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
81080 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
810a0 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
810c0 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).`
810e0 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
81100 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
81120 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
81140 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
81160 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
81180 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
811a0 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
811c0 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
811e0 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
81200 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
81220 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
81240 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
81260 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
81280 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
812a0 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.(-
812c0 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).
812e0 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
81300 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))
81320 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.`
81340 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..
81360 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
81380 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
813a0 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
813c0 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.
813e0 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.
81400 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
81420 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
81440 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
81460 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.
81480 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
814a0 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
814c0 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
814e0 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)
81500 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.`
81520 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).
81540 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
81560 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
81580 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.
815a0 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
815c0 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
815e0 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)))
81600 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))
81620 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
81640 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.(
81660 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
81680 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))).
816a0 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
816c0 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
816e0 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
81700 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
81720 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
81740 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
81760 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
81780 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
817a0 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
817c0 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.
817e0 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
81800 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.
81820 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
81840 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
81860 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
81880 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.
818a0 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)))
818c0 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
818e0 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
81900 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.'
81920 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
81940 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
81960 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
81980 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
819a0 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]]]).;;.=>.(
819c0 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.
819e0 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).```..
81a00 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
81a20 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`
81a40 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
81a60 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.
81a80 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.
81aa0 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
81ac0 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
81ae0 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...
81b00 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
81b20 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>".
81b40 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>")).;;.=>
81b60 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
81b80 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
81ba0 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
81bc0 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`.
81be0 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
81c00 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
81c20 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
81c40 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
81c60 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
81c80 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
81ca0 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))).
81cc0 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
81ce0 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
81d00 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.
81d20 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".
81d40 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
81d60 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).'
81d80 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
81da0 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
81dc0 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-
81de0 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))))
81e00 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
81e20 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.
81e40 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.
81e60 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))).```
81e80 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)`.
81ea0 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.
81ec0 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
81ee0 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
81f00 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`.
81f20 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
81f40 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
81f60 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.
81f80 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.
81fa0 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
81fc0 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
81fe0 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...```
82000 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
82020 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
82040 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
82060 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
82080 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
820a0 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
820c0 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
820e0 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.">"
82100 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."
82120 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
82140 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
82160 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<
82180 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>".```..###
821a0 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
821c0 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
821e0 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
82200 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
82220 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
82240 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.`
82260 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
82280 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
822a0 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.
822c0 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
822e0 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.
82300 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
82320 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).(
82340 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
82360 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.'
82380 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
823a0 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
823c0 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)`.
823e0 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.`
82400 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
82420 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
82440 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
82460 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
82480 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
824a0 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
824c0 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
824e0 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
82500 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.
82520 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`]
82540 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.[`
82560 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).
82580 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.
825a0 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...``
825c0 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
825e0 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))
82600 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).(--
82620 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.
82640 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)))).;;.=
82660 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
82680 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
826a0 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
826c0 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
826e0 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
82700 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
82720 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
82740 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
82760 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
82780 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
827a0 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
827c0 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
827e0 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
82800 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)
82820 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.[
82840 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
82860 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
82880 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
828a0 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
828c0 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.
828e0 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
82900 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))
82920 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
82940 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
82960 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))
82980 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).
829a0 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."{".(
829c0 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
829e0 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
82a00 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
82a20 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-
82a40 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
82a60 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
82a80 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)))
82aa0 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
82ac0 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
82ae0 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...
82b00 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
82b20 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}
82b40 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
82b60 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)`.
82b80 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
82ba0 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
82bc0 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
82be0 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
82c00 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.
82c20 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
82c40 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)).(
82c60 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).;
82c80 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
82ca0 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
82cc0 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
82ce0 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...####.->.`
82d00 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)`..
82d20 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
82d40 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
82d60 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
82d80 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
82da0 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
82dc0 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
82de0 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...```
82e00 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).(
82e20 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))).;;
82e40 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
82e60 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)).;;
82e80 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
82ea0 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
82ec0 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
82ee0 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
82f00 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
82f20 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
82f40 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
82f60 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
82f80 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.(->>.'
82fa0 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
82fc0 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
82fe0 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)
83000 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).(-
83020 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.```..####.-
83040 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
83060 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
83080 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
830a0 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
830c0 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
830e0 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
83100 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
83120 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
83140 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.(-->.
83160 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")).;
83180 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
831a0 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))
831c0 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
831e0 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).;;
83200 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->.
83220 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)`..
83240 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
83260 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
83280 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
832a0 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
832c0 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.
832e0 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...`
83300 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)
83320 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.(
83340 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)).;;.=>.(
83360 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.(
83380 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.```..###
833a0 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
833c0 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,
833e0 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
83400 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
83420 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
83440 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.
83460 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
83480 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
834a0 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?.
834c0 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
834e0 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
83500 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
83520 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
83540 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
83560 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
83580 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
835a0 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)
835c0 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).(
835e0 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?)
83600 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->>.'(
83620 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)).;
83640 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
83660 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`.
83680 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.[`-->`](#---
836a0 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.
836c0 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
836e0 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.
83700 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
83720 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
83740 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,.
83760 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
83780 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
837a0 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
837c0 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--
837e0 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).
83800 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)).;
83820 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.&
83840 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
83860 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`
83880 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-
838a0 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
838c0 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
838e0 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
83900 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
83920 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
83940 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
83960 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
83980 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).
839a0 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.
839c0 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)).;;.=
839e0 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
83a00 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
83a20 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
83a40 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
83a60 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
83a80 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
83aa0 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
83ac0 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
83ae0 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
83b00 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`]
83b20 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
83b40 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
83b60 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
83b80 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
83ba0 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"))
83bc0 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.((&
83be0 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"
83c00 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
83c20 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)`.
83c40 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,
83c60 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
83c80 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
83ca0 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
83cc0 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
83ce0 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*`](#-
83d00 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`.
83d20 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.
83d40 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
83d60 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
83d80 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.(+
83da0 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
83dc0 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)).(+
83de0 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
83e00 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
83e20 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
83e40 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
83e60 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
83e80 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
83ea0 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)...
83ec0 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
83ee0 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
83f00 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
83f20 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.```..####
83f40 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
83f60 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.
83f80 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
83fa0 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`,.
83fc0 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`
83fe0 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
84000 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
84020 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
84040 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
84060 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
84080 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.`
840a0 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
840c0 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
840e0 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*.((
84100 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
84120 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*.(((_.
84140 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.`
84160 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
84180 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
841a0 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`...`
841c0 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
841e0 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
84200 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
84220 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"...`
84240 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
84260 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
84280 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
842a0 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
842c0 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
842e0 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
84300 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
84320 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
84340 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
84360 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
84380 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
843a0 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
843c0 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.
843e0 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
84400 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...
84420 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`]...
84440 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
84460 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.
84480 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
844a0 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.
844c0 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.
844e0 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
84500 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
84520 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
84540 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
84560 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
84580 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
845a0 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
845c0 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
845e0 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
84600 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
84620 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
84640 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.
84660 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
84680 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
846a0 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`.
846c0 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)
846e0 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.`
84700 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
84720 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.`
84740 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
84760 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
84780 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
847a0 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
847c0 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`...
847e0 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
84800 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.`
84820 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
84840 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...)......[
84860 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
84880 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
848a0 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`,
848c0 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`,...................
848e0 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
84900 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.
84920 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.
84940 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........
84960 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`.
84980 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
849a0 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
849c0 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
849e0 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
84a00 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.............................
84a20 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
84a40 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............................
84a60 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
84a80 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.....................
84aa0 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.....
84ac0 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:...
84ae0 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).
84b00 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
84b20 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..............................
84b40 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.
84b60 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.............................
84b80 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
84ba0 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............................
84bc0 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
84be0 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.
84c00 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
84c20 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.................
84c40 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
84c60 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................
84c80 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
84ca0 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...............
84cc0 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
84ce0 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.
84d00 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
84d20 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.........
84d40 20 20 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
84d60 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....
84d80 20 20 20 20 20 20 20 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
84da0 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....
84dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
84de0 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..
84e00 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.
84e20 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
84e40 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
84e60 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
84e80 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
84ea0 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
84ec0 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....
84ee0 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.
84f00 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.
84f20 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.
84f40 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
84f60 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
84f80 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
84fa0 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
84fc0 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.
84fe0 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
85000 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
85020 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
85040 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
85060 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
85080 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
850a0 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
850c0 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
850e0 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
85100 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,.
85120 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
85140 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
85160 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
85180 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
851a0 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
851c0 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
851e0 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.
85200 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.
85220 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.
85240 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.
85260 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-
85280 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
852a0 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
852c0 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......(&
852e0 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)
85300 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
85320 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
85340 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.
85360 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
85380 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
853a0 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
853c0 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
853e0 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
85400 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
85420 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
85440 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
85460 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
85480 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
854a0 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)..
854c0 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
854e0 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,.
85500 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.(
85520 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.
85540 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
85560 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
85580 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
855a0 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.:
855c0 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`
855e0 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.
85600 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
85620 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
85640 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
85660 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
85680 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-
856a0 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
856c0 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
856e0 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
85700 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
85720 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
85740 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
85760 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
85780 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
857a0 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])
857c0 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
857e0 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
85800 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.
85820 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
85840 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
85860 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
85880 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
858a0 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
858c0 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).(-
858e0 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
85900 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.
85920 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
85940 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
85960 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))
85980 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
859a0 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
859c0 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.
859e0 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
85a00 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
85a20 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.
85a40 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
85a60 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
85a80 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`..
85aa0 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.
85ac0 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
85ae0 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.
85b00 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
85b20 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
85b40 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
85b60 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
85b80 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.
85ba0 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
85bc0 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
85be0 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
85c00 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
85c20 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
85c40 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
85c60 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
85c80 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
85ca0 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).
85cc0 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)).;;.=
85ce0 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
85d00 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)`.
85d20 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
85d40 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
85d60 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
85d80 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
85da0 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
85dc0 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).....(
85de0 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
85e00 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
85e20 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
85e40 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.
85e60 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.
85e80 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
85ea0 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
85ec0 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
85ee0 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.
85f00 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).
85f20 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)).
85f40 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
85f60 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).
85f80 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)
85fa0 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).```..
85fc0 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]...
85fe0 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
86000 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
86020 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
86040 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`](#-
86060 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
86080 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.
860a0 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
860c0 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
860e0 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.
86100 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
86120 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......(
86140 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
86160 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
86180 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
861a0 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
861c0 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
861e0 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.
86200 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.
86220 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
86240 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)).
86260 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
86280 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).;;.=
862a0 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
862c0 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
862e0 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
86300 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
86320 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.
86340 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
86360 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
86380 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
863a0 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
863c0 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
863e0 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.
86400 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).
86420 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
86440 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
86460 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
86480 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.```.
864a0 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
864c0 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.
864e0 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
86500 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
86520 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
86540 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
86560 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
86580 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
865a0 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
865c0 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.
865e0 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).(
86600 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.
86620 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).(<.
86640 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
86660 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
86680 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
866a0 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
866c0 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
866e0 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
86700 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
86720 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
86740 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
86760 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
86780 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`]
867a0 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.
867c0 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)
867e0 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).
86800 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)
86820 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
86840 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))
86860 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
86880 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.
868a0 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
868c0 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
868e0 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
86900 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
86920 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.
86940 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.`
86960 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
86980 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
869a0 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).
869c0 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)).
869e0 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.
86a00 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.```..##
86a20 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)
86a40 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
86a60 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
86a80 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`
86aa0 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
86ac0 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
86ae0 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
86b00 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
86b20 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
86b40 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
86b60 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?.(
86b80 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).;;.=>
86ba0 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.'(
86bc0 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)).
86be0 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
86c00 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).
86c20 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.`
86c40 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
86c60 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.
86c80 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
86ca0 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
86cc0 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
86ce0 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...
86d00 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
86d20 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
86d40 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
86d60 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.(
86d80 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).;;.=>
86da0 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
86dc0 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).;;.=>.
86de0 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
86e00 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).```..
86e20 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
86e40 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.
86e60 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)`..
86e80 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
86ea0 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
86ec0 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).
86ee0 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).;
86f00 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
86f20 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
86f40 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.((
86f60 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
86f80 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).;;.=
86fa0 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
86fc0 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
86fe0 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...####
87000 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
87020 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
87040 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`
87060 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.
87080 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`..
870a0 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
870c0 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
870e0 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
87100 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
87120 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...```
87140 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)).;;
87160 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).
87180 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.#'
871a0 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
871c0 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
871e0 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
87200 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
87220 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
87240 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
87260 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
87280 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.
872a0 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
872c0 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
872e0 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
87300 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
87320 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
87340 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.
87360 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
87380 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)).;;.=>.-
873a0 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).
873c0 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.#'-.
873e0 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
87400 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
87420 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.`
87440 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
87460 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
87480 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.
874a0 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.
874c0 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)
874e0 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.#
87500 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
87520 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
87540 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)).;;.=>.(("
87560 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
87580 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
875a0 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.
875c0 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.
875e0 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
87600 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
87620 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.
87640 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
87660 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
87680 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
876a0 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
876c0 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.
876e0 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+.#'+)
87700 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
87720 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.
87740 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
87760 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).```.
87780 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.
877a0 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.
877c0 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
877e0 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.
87800 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
87820 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.`
87840 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.(-
87860 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
87880 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.
878a0 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
878c0 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)).;;.=
878e0 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)`..
87900 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
87920 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
87940 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.
87960 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
87980 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`
879a0 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
879c0 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.
879e0 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
87a00 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
87a20 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
87a40 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.
87a60 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
87a80 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.(-
87aa0 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
87ac0 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.
87ae0 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
87b00 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.#
87b20 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".
87b40 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.#'>.
87b60 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))).
87b80 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)`
87ba0 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.`
87bc0 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.
87be0 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
87c00 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
87c20 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
87c40 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
87c60 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.#'-)
87c80 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
87ca0 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).
87cc0 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
87ce0 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.
87d00 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
87d20 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.`
87d40 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)`..
87d60 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
87d80 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
87da0 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
87dc0 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
87de0 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.
87e00 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
87e20 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
87e40 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-
87e60 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
87e80 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
87ea0 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
87ec0 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).;;.=>.
87ee0 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
87f00 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
87f20 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.
87f40 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).```..##
87f60 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
87f80 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
87fa0 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
87fc0 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.(-
87fe0 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
88000 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"
88020 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
88040 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")))
88060 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.
88080 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
880a0 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
880c0 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.
880e0 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...
88100 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
88120 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
88140 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.
88160 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)
88180 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))
881a0 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.<
881c0 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)).
881e0 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")
88200 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
88220 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
88240 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
88260 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.`
88280 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
882a0 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.
882c0 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:.[`
882e0 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
88300 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)...
88320 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).
88340 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.#'<).'
88360 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).(
88380 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)).
883a0 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
883c0 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
883e0 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
88400 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
88420 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
88440 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
88460 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
88480 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
884a0 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
884c0 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
884e0 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`
88500 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
88520 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
88540 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
88560 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
88580 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)
885a0 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
885c0 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.
885e0 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.(
88600 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
88620 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
88640 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).;;.=>
88660 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
88680 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
886a0 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
886c0 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
886e0 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
88700 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
88720 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
88740 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`
88760 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
88780 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
887a0 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
887c0 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
887e0 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
88800 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
88820 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
88840 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
88860 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
88880 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).(
888a0 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+).'
888c0 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).(
888e0 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).;;
88900 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.
88920 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
88940 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
88960 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
88980 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.
889a0 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
889c0 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
889e0 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.
88a00 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
88a20 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.
88a40 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
88a60 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
88a80 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
88aa0 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)))...``
88ac0 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
88ae0 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
88b00 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).;;.
88b20 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
88b40 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).```.
88b60 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
88b80 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
88ba0 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).
88bc0 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.
88be0 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
88c00 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,.`
88c20 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
88c40 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.
88c60 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
88c80 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.
88ca0 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
88cc0 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.......
88ce0 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
88d00 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,....
88d20 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
88d40 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.......
88d60 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.
88d80 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
88da0 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..`
88dc0 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
88de0 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...
88e00 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.
88e20 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`,
88e40 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
88e60 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
88e80 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
88ea0 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.
88ec0 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.
88ee0 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
88f00 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
88f20 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...
88f40 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
88f60 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.
88f80 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
88fa0 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
88fc0 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
88fe0 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
89000 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
89020 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.
89040 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=
89060 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.
89080 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
890a0 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
890c0 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
890e0 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).;;.=>.(
89100 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.`(
89120 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
89140 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
89160 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
89180 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
891a0 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.
891c0 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
891e0 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)).->
89200 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
89220 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:..
89240 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....).
89260 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.
89280 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').
892a0 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
892c0 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
892e0 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)
89300 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.
89320 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
89340 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
89360 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.
89380 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
893a0 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))..``
893c0 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
893e0 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)).;;.=>
89400 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
89420 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))).;
89440 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)).(
89460 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
89480 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).
894a0 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
894c0 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
894e0 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
89500 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
89520 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
89540 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
89560 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
89580 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
895a0 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
895c0 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.
895e0 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
89600 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
89620 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
89640 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
89660 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
89680 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
896a0 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
896c0 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
896e0 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.
89700 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
89720 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
89740 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
89760 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
89780 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
897a0 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,.
897c0 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
897e0 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
89800 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.
89820 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
89840 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.
89860 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
89880 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
898a0 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
898c0 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
898e0 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.
89900 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
89920 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
89940 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
89960 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
89980 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
899a0 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
899c0 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
899e0 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
89a00 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
89a20 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
89a40 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
89a60 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`,
89a80 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
89aa0 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).
89ac0 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
89ae0 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
89b00 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
89b20 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
89b40 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?`..-.[
89b60 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.
89b80 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
89ba0 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://
89bc0 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
89be0 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
89c00 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
89c20 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
89c40 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
89c60 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
89c80 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.
89ca0 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
89cc0 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
89ce0 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).
89d00 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
89d20 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..-
89d40 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:/
89d60 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
89d80 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
89da0 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.`-
89dc0 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
89de0 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
89e00 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.`-
89e20 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
89e40 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
89e60 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
89e80 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
89ea0 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
89ec0 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
89ee0 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
89f00 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..
89f20 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.
89f40 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...
89f60 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
89f80 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..
89fa0 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
89fc0 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:.
89fe0 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>
8a000 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:
8a020 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.
8a040 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
8a060 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
8a080 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
8a0a0 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
8a0c0 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
8a0e0 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.
8a100 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.
8a120 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
8a140 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
8a160 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
8a180 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
8a1a0 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
8a1c0 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
8a1e0 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
8a200 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.
8a220 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
8a240 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
8a260 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/>...........................
8a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a400 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..
8a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a460 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
8a480 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...
8a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a500 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...................
8a520 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...................
8a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a600 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
8a620 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
8a640 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.
8a660 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
8a680 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
8a6a0 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.
8a6c0 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
8a6e0 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
8a700 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
8a720 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
8a740 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
8a760 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
8a780 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
8a7a0 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
8a7c0 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
8a7e0 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
8a800 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
8a820 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
8a840 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
8a860 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
8a880 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
8a8a0 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
8a8c0 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.
8a8e0 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)...*
8a900 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
8a920 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
8a940 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
8a960 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]
8a980 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](#
8a9a0 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
8a9c0 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
8a9e0 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
8aa00 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
8aa20 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
8aa40 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
8aa60 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
8aa80 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
8aaa0 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.
8aac0 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
8aae0 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.
8ab00 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
8ab20 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.
8ab40 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
8ab60 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
8ab80 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
8aba0 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
8abc0 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...
8abe0 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
8ac00 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
8ac20 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:
8ac40 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
8ac60 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
8ac80 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.
8aca0 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`:......
8acc0 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
8ace0 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
8ad00 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/
8ad20 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/
8ad40 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)
8ad60 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
8ad80 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
8ada0 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
8adc0 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
8ade0 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
8ae00 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)
8ae20 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
8ae40 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
8ae60 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
8ae80 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.]
8aea0 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
8aec0 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
8aee0 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
8af00 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)...###
8af20 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
8af40 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
8af60 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.
8af80 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
8afa0 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
8afc0 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`.
8afe0 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.
8b000 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
8b020 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.
8b040 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
8b060 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
8b080 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
8b0a0 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
8b0c0 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
8b0e0 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.`
8b100 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-
8b120 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
8b140 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
8b160 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`.(
8b180 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
8b1a0 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
8b1c0 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.
8b1e0 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
8b200 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
8b220 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
8b240 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.
8b260 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
8b280 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.
8b2a0 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
8b2c0 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
8b2e0 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-
8b300 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
8b320 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
8b340 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
8b360 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
8b380 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
8b3a0 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
8b3c0 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..
8b3e0 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
8b400 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
8b420 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
8b440 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.
8b460 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
8b480 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
8b4a0 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
8b4c0 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
8b4e0 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:.
8b500 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)
8b520 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..
8b540 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))....
8b560 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..```.
8b580 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
8b5a0 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:..`
8b5c0 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
8b5e0 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."...(
8b600 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
8b620 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
8b640 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
8b660 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
8b680 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.
8b6a0 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.
8b6c0 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.
8b6e0 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
8b700 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
8b720 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
8b740 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
8b760 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:...
8b780 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
8b7a0 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:......
8b7c0 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.
8b7e0 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
8b800 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.
8b820 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
8b840 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
8b860 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:.....
8b880 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
8b8a0 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.
8b8c0 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
8b8e0 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
8b900 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
8b920 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
8b940 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.
8b960 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.
8b980 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
8b9a0 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
8b9c0 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
8b9e0 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
8ba00 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")
8ba20 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
8ba40 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
8ba60 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
8ba80 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://
8baa0 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
8bac0 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..
8bae0 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
8bb00 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
8bb20 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
8bb40 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.`
8bb60 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
8bb80 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
8bba0 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
8bbc0 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
8bbe0 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
8bc00 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/
8bc20 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`,..
8bc40 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`
8bc60 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
8bc80 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-
8bca0 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
8bcc0 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
8bce0 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
8bd00 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
8bd20 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](
8bd40 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).
8bd60 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
8bd80 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
8bda0 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
8bdc0 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`,
8bde0 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
8be00 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://
8be20 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.`
8be40 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
8be60 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
8be80 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.
8bea0 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.
8bec0 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
8bee0 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
8bf00 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
8bf20 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
8bf40 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
8bf60 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
8bf80 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
8bfa0 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
8bfc0 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)
8bfe0 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->
8c000 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
8c020 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
8c040 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...
8c060 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
8c080 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
8c0a0 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://
8c0c0 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.
8c0e0 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`.
8c100 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.
8c120 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
8c140 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
8c160 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
8c180 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,
8c1a0 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
8c1c0 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
8c1e0 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
8c200 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
8c220 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
8c240 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
8c260 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.
8c280 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
8c2a0 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.
8c2c0 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
8c2e0 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
8c300 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
8c320 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
8c340 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.
8c360 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
8c380 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
8c3a0 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
8c3c0 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.
8c3e0 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
8c400 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
8c420 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/>............
8c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c600 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...........
8c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c660 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
8c680 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...
8c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c700 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...................
8c720 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...................
8c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c800 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
8c820 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
8c840 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
8c860 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
8c880 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
8c8a0 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
8c8c0 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
8c8e0 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
8c900 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
8c920 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
8c940 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
8c960 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
8c980 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
8c9a0 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
8c9c0 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
8c9e0 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
8ca00 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
8ca20 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
8ca40 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
8ca60 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
8ca80 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
8caa0 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
8cac0 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
8cae0 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
8cb00 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
8cb20 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:.(
8cb40 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
8cb60 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
8cb80 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
8cba0 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
8cbc0 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
8cbe0 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.@
8cc00 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
8cc20 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
8cc40 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
8cc60 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::....
8cc80 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
8cca0 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
8ccc0 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::
8cce0 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
8cd00 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::.
8cd20 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.
8cd40 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::.....
8cd60 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
8cd80 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::.
8cda0 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
8cdc0 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
8cde0 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.
8ce00 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.
8ce20 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
8ce40 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
8ce60 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
8ce80 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.
8cea0 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
8cec0 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.
8cee0 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.
8cf00 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
8cf20 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
8cf40 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
8cf60 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
8cf80 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
8cfa0 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
8cfc0 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
8cfe0 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.
8d000 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
8d020 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
8d040 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
8d060 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
8d080 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
8d0a0 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
8d0c0 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
8d0e0 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
8d100 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
8d120 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.
8d140 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
8d160 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
8d180 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
8d1a0 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
8d1c0 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.
8d1e0 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
8d200 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
8d220 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
8d240 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{
8d260 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
8d280 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
8d2a0 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
8d2c0 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
8d2e0 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
8d300 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
8d320 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
8d340 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
8d360 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
8d380 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
8d3a0 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
8d3c0 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
8d3e0 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,.
8d400 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
8d420 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
8d440 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,,
8d460 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
8d480 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
8d4a0 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}"
8d4c0 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
8d4e0 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.
8d500 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
8d520 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
8d540 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
8d560 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
8d580 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
8d5a0 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},.
8d5c0 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
8d5e0 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
8d600 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
8d620 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
8d640 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
8d660 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.
8d680 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.
8d6a0 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-
8d6c0 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
8d6e0 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.
8d700 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
8d720 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.
8d740 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},
8d760 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
8d780 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
8d7a0 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
8d7c0 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.
8d7e0 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
8d800 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
8d820 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
8d840 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
8d860 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
8d880 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
8d8a0 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
8d8c0 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
8d8e0 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,.
8d900 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
8d920 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
8d940 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
8d960 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-
8d980 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
8d9a0 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
8d9c0 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))
8d9e0 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
8da00 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
8da20 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
8da40 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
8da60 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
8da80 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.
8daa0 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
8dac0 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
8dae0 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
8db00 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
8db20 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...
8db40 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
8db60 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{--
8db80 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
8dba0 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}
8dbc0 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
8dbe0 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
8dc00 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.
8dc20 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.@
8dc40 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
8dc60 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..
8dc80 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.
8dca0 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.
8dcc0 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)
8dce0 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
8dd00 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
8dd20 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).
8dd40 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
8dd60 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
8dd80 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
8dda0 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
8ddc0 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
8dde0 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
8de00 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."...(
8de20 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
8de40 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).
8de60 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
8de80 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
8dea0 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
8dec0 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
8dee0 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
8df00 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
8df20 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
8df40 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
8df60 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
8df80 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
8dfa0 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
8dfc0 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
8dfe0 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
8e000 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
8e020 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
8e040 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
8e060 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
8e080 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
8e0a0 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
8e0c0 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
8e0e0 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
8e100 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
8e120 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.@
8e140 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
8e160 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{}
8e180 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.(-
8e1a0 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
8e1c0 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.(
8e1e0 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)).....
8e200 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.
8e220 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
8e240 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
8e260 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
8e280 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}.
8e2a0 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}
8e2c0 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
8e2e0 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
8e300 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
8e320 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{
8e340 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
8e360 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
8e380 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})..
8e3a0 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
8e3c0 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
8e3e0 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
8e400 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).
8e420 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
8e440 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
8e460 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)).....@
8e480 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.@
8e4a0 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{
8e4c0 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
8e4e0 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
8e500 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
8e520 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
8e540 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
8e560 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
8e580 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
8e5a0 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
8e5c0 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.'
8e5e0 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.
8e600 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
8e620 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))
8e640 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
8e660 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)
8e680 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
8e6a0 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
8e6c0 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}.
8e6e0 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)
8e700 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}
8e720 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
8e740 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
8e760 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}
8e780 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
8e7a0 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
8e7c0 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.'
8e7e0 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
8e800 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
8e820 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.
8e840 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
8e860 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
8e880 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))..
8e8a0 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
8e8c0 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
8e8e0 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
8e900 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
8e920 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
8e940 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
8e960 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
8e980 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.
8e9a0 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.
8e9c0 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
8e9e0 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
8ea00 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
8ea20 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.
8ea40 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
8ea60 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{
8ea80 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
8eaa0 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
8eac0 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))
8eae0 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
8eb00 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.
8eb20 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
8eb40 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.
8eb60 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))...
8eb80 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
8eba0 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
8ebc0 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.(
8ebe0 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
8ec00 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}
8ec20 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
8ec40 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
8ec60 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
8ec80 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
8eca0 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
8ecc0 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
8ece0 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"."
8ed00 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"))).....
8ed20 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
8ed40 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
8ed60 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).'
8ed80 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..
8eda0 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)).@
8edc0 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
8ede0 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
8ee00 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.
8ee20 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.
8ee40 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}.
8ee60 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.
8ee80 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}.
8eea0 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.
8eec0 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{,@
8eee0 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
8ef00 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.
8ef20 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
8ef40 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
8ef60 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
8ef80 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
8efa0 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
8efc0 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)).
8efe0 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
8f000 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
8f020 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{
8f040 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.@
8f060 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
8f080 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)).
8f0a0 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)))....
8f0c0 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
8f0e0 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
8f100 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
8f120 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
8f140 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
8f160 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
8f180 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.@
8f1a0 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
8f1c0 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
8f1e0 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})..
8f200 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
8f220 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))...
8f240 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
8f260 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
8f280 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{}
8f2a0 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
8f2c0 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).'
8f2e0 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
8f300 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
8f320 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
8f340 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
8f360 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
8f380 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}..
8f3a0 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
8f3c0 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.(-
8f3e0 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
8f400 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.(
8f420 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
8f440 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
8f460 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.(-
8f480 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))...
8f4a0 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
8f4c0 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
8f4e0 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)
8f500 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
8f520 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.'(
8f540 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
8f560 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
8f580 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
8f5a0 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.
8f5c0 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
8f5e0 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..
8f600 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
8f620 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
8f640 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)
8f660 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.
8f680 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
8f6a0 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
8f6c0 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
8f6e0 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
8f700 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,.
8f720 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
8f740 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
8f760 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
8f780 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.
8f7a0 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{}.(
8f7c0 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.
8f7e0 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
8f800 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
8f820 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
8f840 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.
8f860 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..@
8f880 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.(
8f8a0 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.
8f8c0 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
8f8e0 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
8f900 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
8f920 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
8f940 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
8f960 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
8f980 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}.(
8f9a0 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
8f9c0 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.(
8f9e0 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
8fa00 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
8fa20 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)).
8fa40 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
8fa60 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))
8fa80 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)
8faa0 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
8fac0 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
8fae0 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
8fb00 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
8fb20 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.
8fb40 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
8fb60 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
8fb80 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
8fba0 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
8fbc0 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.
8fbe0 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
8fc00 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
8fc20 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
8fc40 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
8fc60 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
8fc80 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{
8fca0 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
8fcc0 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
8fce0 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
8fd00 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
8fd20 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.
8fd40 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
8fd60 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.#
8fd80 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")
8fda0 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").@
8fdc0 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
8fde0 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
8fe00 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.@
8fe20 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{
8fe40 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
8fe60 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
8fe80 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
8fea0 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
8fec0 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
8fee0 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.
8ff00 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
8ff20 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
8ff40 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
8ff60 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}
8ff80 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
8ffa0 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})
8ffc0 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
8ffe0 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
90000 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
90020 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{
90040 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.@
90060 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.'(
90080 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
900a0 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
900c0 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
900e0 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{
90100 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
90120 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
90140 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
90160 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
90180 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
901a0 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
901c0 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}
901e0 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
90200 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
90220 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
90240 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.
90260 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
90280 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
902a0 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
902c0 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
902e0 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
90300 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
90320 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
90340 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.
90360 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-
90380 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
903a0 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
903c0 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.
903e0 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)).
90400 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.()).
90420 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
90440 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
90460 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
90480 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.
904a0 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.
904c0 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}...@
904e0 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
90500 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
90520 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
90540 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
90560 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
90580 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.
905a0 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
905c0 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
905e0 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
90600 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)...
90620 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.@
90640 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.
90660 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.
90680 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.
906a0 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
906c0 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
906e0 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
90700 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}.
90720 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.
90740 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.
90760 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{-
90780 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}).
907a0 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
907c0 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).@
907e0 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
90800 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.
90820 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.'(
90840 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
90860 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.
90880 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
908a0 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
908c0 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{
908e0 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
90900 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{
90920 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
90940 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
90960 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}
90980 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.
909a0 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
909c0 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
909e0 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
90a00 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
90a20 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))....
90a40 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
90a60 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
90a80 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
90aa0 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
90ac0 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
90ae0 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
90b00 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
90b20 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
90b40 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
90b60 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
90b80 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
90ba0 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)).....@
90bc0 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
90be0 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
90c00 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
90c20 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{}
90c40 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
90c60 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
90c80 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).
90ca0 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
90cc0 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
90ce0 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{
90d00 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
90d20 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
90d40 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{-
90d60 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
90d80 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.
90da0 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
90dc0 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
90de0 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
90e00 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.
90e20 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).
90e40 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
90e60 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.
90e80 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
90ea0 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
90ec0 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
90ee0 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.
90f00 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
90f20 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
90f40 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
90f60 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...
90f80 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
90fa0 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
90fc0 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
90fe0 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
91000 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
91020 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
91040 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
91060 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))....
91080 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
910a0 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.
910c0 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
910e0 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
91100 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
91120 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
91140 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}.
91160 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
91180 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
911a0 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
911c0 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
911e0 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.
91200 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
91220 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
91240 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
91260 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
91280 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
912a0 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
912c0 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
912e0 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
91300 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
91320 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
91340 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).
91360 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{}.
91380 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
913a0 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
913c0 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
913e0 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
91400 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
91420 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
91440 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
91460 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-
91480 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"."
914a0 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"."
914c0 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".
914e0 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
91500 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).
91520 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{}.("
91540 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.(-
91560 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.
91580 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
915a0 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".
915c0 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
915e0 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
91600 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
91620 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
91640 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}
91660 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
91680 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
916a0 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
916c0 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.
916e0 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
91700 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
91720 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
91740 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
91760 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
91780 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
917a0 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
917c0 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{}
917e0 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
91800 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).'
91820 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)))...
91840 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.
91860 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
91880 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)))
918a0 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
918c0 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.
918e0 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.
91900 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
91920 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
91940 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
91960 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
91980 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
919a0 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
919c0 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
919e0 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
91a00 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
91a20 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}
91a40 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})..@
91a60 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
91a80 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))).
91aa0 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
91ac0 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
91ae0 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
91b00 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
91b20 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
91b40 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
91b60 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-
91b80 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}
91ba0 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
91bc0 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
91be0 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
91c00 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
91c20 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
91c40 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.
91c60 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
91c80 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).
91ca0 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)).
91cc0 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
91ce0 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
91d00 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
91d20 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.
91d40 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
91d60 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
91d80 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
91da0 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
91dc0 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
91de0 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.
91e00 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
91e20 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
91e40 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
91e60 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)
91e80 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
91ea0 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
91ec0 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.
91ee0 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..@
91f00 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
91f20 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}.
91f40 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
91f60 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
91f80 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.
91fa0 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)
91fc0 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}.
91fe0 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.
92000 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,.
92020 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
92040 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
92060 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
92080 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
920a0 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.
920c0 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
920e0 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}.
92100 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.@
92120 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
92140 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
92160 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))))))).
92180 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
921a0 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..
921c0 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)
921e0 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
92200 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
92220 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.@
92240 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
92260 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
92280 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.
922a0 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
922c0 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.
922e0 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
92300 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).
92320 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.
92340 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
92360 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)))
92380 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).@
923a0 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
923c0 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
923e0 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.
92400 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
92420 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
92440 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
92460 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{-
92480 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.(-
924a0 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)).
924c0 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"
924e0 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
92500 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
92520 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
92540 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
92560 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
92580 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
925a0 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
925c0 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
925e0 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.
92600 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
92620 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
92640 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.
92660 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
92680 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
926a0 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.
926c0 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.
926e0 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
92700 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
92720 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
92740 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
92760 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
92780 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
927a0 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.
927c0 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.
927e0 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..@
92800 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
92820 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
92840 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
92860 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}.
92880 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
928a0 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
928c0 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
928e0 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
92900 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{
92920 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.@
92940 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"
92960 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"."
92980 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
929a0 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
929c0 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
929e0 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{}
92a00 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
92a20 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
92a40 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
92a60 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
92a80 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
92aa0 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
92ac0 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
92ae0 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
92b00 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
92b20 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).@
92b40 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.
92b60 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.
92b80 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
92ba0 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
92bc0 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
92be0 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
92c00 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
92c20 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
92c40 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
92c60 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.
92c80 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
92ca0 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
92cc0 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)).....@
92ce0 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
92d00 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.
92d20 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
92d40 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
92d60 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
92d80 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
92da0 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.
92dc0 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.
92de0 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
92e00 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{
92e20 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
92e40 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)).
92e60 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
92e80 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.(-
92ea0 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))
92ec0 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{}.(
92ee0 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.(
92f00 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
92f20 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
92f40 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
92f60 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..
92f80 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
92fa0 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
92fc0 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
92fe0 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
93000 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
93020 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
93040 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.@
93060 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
93080 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{}.("
930a0 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.@
930c0 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
930e0 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{}.("
93100 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.@
93120 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
93140 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{}.("
93160 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.@
93180 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{
931a0 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
931c0 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
931e0 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
93200 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
93220 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
93240 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}.
93260 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}.(@
93280 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
932a0 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.@
932c0 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).'
932e0 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")).....@
93300 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").@
93320 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
93340 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".
93360 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"
93380 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
933a0 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"
933c0 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
933e0 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
93400 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
93420 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
93440 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
93460 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)..
93480 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
934a0 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
934c0 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
934e0 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
93500 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
93520 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
93540 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
93560 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
93580 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.
935a0 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
935c0 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
935e0 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
93600 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
93620 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
93640 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}
93660 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{-
93680 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
936a0 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)).....
936c0 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.(-
936e0 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)).
93700 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
93720 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
93740 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".
93760 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
93780 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
937a0 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
937c0 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
937e0 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{
93800 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
93820 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
93840 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
93860 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
93880 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
938a0 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
938c0 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
938e0 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
93900 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.
93920 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
93940 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
93960 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
93980 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.@
939a0 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.
939c0 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
939e0 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
93a00 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
93a20 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
93a40 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
93a60 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
93a80 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
93aa0 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}
93ac0 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},.
93ae0 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
93b00 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.
93b20 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
93b40 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
93b60 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,.
93b80 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
93ba0 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}
93bc0 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
93be0 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.
93c00 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
93c20 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.
93c40 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
93c60 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
93c80 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)
93ca0 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
93cc0 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
93ce0 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
93d00 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
93d20 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
93d40 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
93d60 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
93d80 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
93da0 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
93dc0 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.
93de0 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
93e00 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
93e20 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
93e40 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
93e60 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...
93e80 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
93ea0 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
93ec0 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
93ee0 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}).
93f00 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
93f20 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
93f40 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{
93f60 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.
93f80 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{}
93fa0 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
93fc0 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
93fe0 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-
94000 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.
94020 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
94040 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.
94060 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
94080 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
940a0 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
940c0 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
940e0 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
94100 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
94120 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
94140 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
94160 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
94180 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
941a0 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
941c0 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
941e0 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.@
94200 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
94220 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
94240 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
94260 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
94280 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
942a0 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
942c0 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
942e0 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
94300 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
94320 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
94340 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.
94360 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
94380 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
943a0 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
943c0 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
943e0 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
94400 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
94420 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}
94440 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
94460 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
94480 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{
944a0 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-
944c0 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
944e0 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
94500 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
94520 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{}."
94540 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.@
94560 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
94580 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
945a0 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
945c0 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.
945e0 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
94600 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
94620 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
94640 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})
94660 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.
94680 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
946a0 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{
946c0 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
946e0 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
94700 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
94720 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
94740 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
94760 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))
94780 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.
947a0 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.#
947c0 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{}.(
947e0 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.(-
94800 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
94820 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))..
94840 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
94860 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
94880 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.
948a0 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
948c0 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
948e0 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
94900 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
94920 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
94940 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
94960 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.
94980 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
949a0 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}).
949c0 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
949e0 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.
94a00 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{-
94a20 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.
94a40 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
94a60 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
94a80 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
94aa0 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
94ac0 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.
94ae0 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
94b00 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
94b20 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
94b40 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
94b60 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
94b80 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".'(
94ba0 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
94bc0 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.
94be0 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
94c00 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
94c20 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
94c40 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
94c60 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
94c80 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.
94ca0 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
94cc0 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
94ce0 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}).(
94d00 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
94d20 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
94d40 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{--
94d60 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
94d80 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
94da0 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
94dc0 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}
94de0 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
94e00 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{}.(
94e20 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
94e40 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
94e60 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
94e80 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.%
94ea0 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
94ec0 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.
94ee0 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.
94f00 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-
94f20 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
94f40 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
94f60 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
94f80 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
94fa0 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.
94fc0 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
94fe0 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
95000 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
95020 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
95040 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
95060 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.
95080 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}.(
950a0 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.
950c0 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
950e0 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
95100 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
95120 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
95140 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.
95160 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).@
95180 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
951a0 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).'(
951c0 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
951e0 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
95200 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
95220 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
95240 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.
95260 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}.
95280 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
952a0 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)).
952c0 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
952e0 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)).
95300 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.
95320 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
95340 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.
95360 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
95380 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
953a0 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)).....
953c0 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.(-
953e0 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
95400 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
95420 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
95440 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
95460 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
95480 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
954a0 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
954c0 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
954e0 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
95500 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
95520 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
95540 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
95560 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
95580 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
955a0 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.(
955c0 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
955e0 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
95600 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
95620 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
95640 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
95660 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
95680 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
956a0 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}.
956c0 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
956e0 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
95700 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{
95720 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
95740 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.
95760 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)
95780 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
957a0 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
957c0 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
957e0 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
95800 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
95820 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
95840 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
95860 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}...@
95880 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
958a0 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).
958c0 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
958e0 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{}.
95900 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.
95920 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
95940 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
95960 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.
95980 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
959a0 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
959c0 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.
959e0 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
95a00 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)....
95a20 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
95a40 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{}.(
95a60 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
95a80 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
95aa0 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
95ac0 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
95ae0 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
95b00 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))
95b20 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
95b40 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.
95b60 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
95b80 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.'(
95ba0 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
95bc0 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
95be0 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
95c00 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.
95c20 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
95c40 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}...
95c60 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.
95c80 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
95ca0 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)
95cc0 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{}.()
95ce0 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
95d00 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))..
95d20 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
95d40 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{-
95d60 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
95d80 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
95da0 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
95dc0 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
95de0 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.'(
95e00 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
95e20 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
95e40 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
95e60 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}.@
95e80 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).
95ea0 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{
95ec0 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
95ee0 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
95f00 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
95f20 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
95f40 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
95f60 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.
95f80 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.
95fa0 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.@
95fc0 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
95fe0 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
96000 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).
96020 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.(>.(
96040 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.
96060 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{}.(
96080 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.
960a0 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
960c0 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
960e0 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
96100 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.'
96120 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.
96140 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
96160 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.'
96180 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
961a0 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
961c0 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
961e0 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
96200 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
96220 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
96240 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
96260 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
96280 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}
962a0 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
962c0 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
962e0 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))
96300 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
96320 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
96340 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))).....
96360 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
96380 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
963a0 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)))
963c0 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
963e0 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
96400 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
96420 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
96440 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
96460 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
96480 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{
964a0 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
964c0 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
964e0 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
96500 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.
96520 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
96540 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
96560 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
96580 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
965a0 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
965c0 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.
965e0 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.@
96600 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
96620 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
96640 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
96660 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{}.
96680 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
966a0 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{-
966c0 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
966e0 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
96700 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".
96720 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}.(@
96740 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
96760 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.
96780 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
967a0 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
967c0 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
967e0 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
96800 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
96820 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
96840 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
96860 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
96880 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
968a0 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)
968c0 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))
968e0 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
96900 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.(-
96920 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
96940 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{}.(
96960 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
96980 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
969a0 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.
969c0 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).(
969e0 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
96a00 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
96a20 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
96a40 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
96a60 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}.
96a80 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.
96aa0 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
96ac0 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
96ae0 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:.
96b00 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
96b20 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
96b40 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.#'
96b60 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{
96b80 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
96ba0 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
96bc0 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
96be0 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
96c00 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
96c20 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
96c40 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
96c60 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
96c80 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.
96ca0 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,.
96cc0 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.@
96ce0 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
96d00 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
96d20 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
96d40 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
96d60 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
96d80 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
96da0 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
96dc0 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}.
96de0 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
96e00 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
96e20 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.(-
96e40 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
96e60 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
96e80 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).'("
96ea0 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
96ec0 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
96ee0 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{}.
96f00 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
96f20 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
96f40 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
96f60 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.
96f80 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:
96fa0 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?},.@
96fc0 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.(
96fe0 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)).....
97000 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.(-
97020 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)).....@
97040 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.(
97060 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
97080 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
970a0 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
970c0 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
970e0 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
97100 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},.
97120 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
97140 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
97160 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
97180 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.
971a0 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{
971c0 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
971e0 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
97200 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
97220 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.@
97240 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
97260 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},.@
97280 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?}..
972a0 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
972c0 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
972e0 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
97300 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.
97320 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)
97340 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.@
97360 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
97380 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
973a0 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
973c0 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
973e0 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).
97400 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},.
97420 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}
97440 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?
97460 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
97480 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?.'(
974a0 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
974c0 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)
974e0 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
97500 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
97520 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
97540 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`
97560 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
97580 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
975a0 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.
975c0 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
975e0 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
97600 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
97620 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
97640 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
97660 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))
97680 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
976a0 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))
976c0 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
976e0 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
97700 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.
97720 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
97740 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?.(
97760 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.
97780 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
977a0 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
977c0 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
977e0 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
97800 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}..@
97820 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
97840 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
97860 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)
97880 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
978a0 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).....@
978c0 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
978e0 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
97900 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
97920 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
97940 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
97960 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
97980 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...
979a0 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
979c0 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
979e0 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
97a00 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?.'(
97a20 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
97a40 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?
97a60 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
97a80 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.
97aa0 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?}
97ac0 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
97ae0 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}
97b00 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
97b20 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
97b40 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).
97b60 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
97b80 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
97ba0 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{
97bc0 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
97be0 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
97c00 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
97c20 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
97c40 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.
97c60 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
97c80 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}..
97ca0 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
97cc0 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
97ce0 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{}.
97d00 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?
97d20 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
97d40 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
97d60 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))...
97d80 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.
97da0 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-
97dc0 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
97de0 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
97e00 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
97e20 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
97e40 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
97e60 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?.'
97e80 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
97ea0 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
97ec0 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)).....@
97ee0 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
97f00 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)).
97f20 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.
97f40 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
97f60 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
97f80 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
97fa0 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
97fc0 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
97fe0 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
98000 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
98020 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
98040 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
98060 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
98080 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?
980a0 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
980c0 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
980e0 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
98100 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
98120 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
98140 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
98160 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
98180 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
981a0 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.
981c0 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
981e0 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
98200 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
98220 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
98240 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.
98260 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
98280 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
982a0 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
982c0 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
982e0 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
98300 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.
98320 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
98340 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
98360 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.
98380 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
983a0 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
983c0 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.
983e0 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
98400 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.
98420 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
98440 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
98460 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
98480 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}).(-
984a0 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}
984c0 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
984e0 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.
98500 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)).
98520 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
98540 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
98560 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{}.((
98580 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.(-
985a0 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
985c0 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
985e0 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
98600 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}.
98620 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
98640 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
98660 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{
98680 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
986a0 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
986c0 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
986e0 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
98700 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
98720 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-
98740 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
98760 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
98780 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])).....
987a0 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.
987c0 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
987e0 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
98800 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"))...
98820 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
98840 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
98860 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
98880 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
988a0 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.
988c0 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..
988e0 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
98900 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
98920 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
98940 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.@
98960 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
98980 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
989a0 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
989c0 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.
989e0 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.
98a00 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
98a20 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}...@
98a40 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
98a60 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{}
98a80 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
98aa0 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
98ac0 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
98ae0 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
98b00 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)).
98b20 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))
98b40 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
98b60 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
98b80 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
98ba0 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
98bc0 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
98be0 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
98c00 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.
98c20 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
98c40 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.
98c60 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
98c80 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
98ca0 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).
98cc0 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
98ce0 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
98d00 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.'(
98d20 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
98d40 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))
98d60 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
98d80 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
98da0 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
98dc0 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
98de0 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
98e00 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
98e20 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
98e40 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
98e60 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
98e80 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
98ea0 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
98ec0 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
98ee0 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).
98f00 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.(
98f20 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))..
98f40 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)).@
98f60 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
98f80 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
98fa0 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
98fc0 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
98fe0 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
99000 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
99020 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
99040 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
99060 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
99080 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
990a0 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
990c0 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
990e0 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
99100 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
99120 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).
99140 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
99160 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
99180 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-
991a0 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.
991c0 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{
991e0 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
99200 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}.
99220 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
99240 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
99260 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
99280 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
992a0 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)).....
992c0 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
992e0 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
99300 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
99320 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.(
99340 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.
99360 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.
99380 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
993a0 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
993c0 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
993e0 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
99400 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
99420 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
99440 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}
99460 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
99480 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
994a0 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
994c0 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
994e0 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
99500 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
99520 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
99540 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
99560 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
99580 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{}
995a0 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
995c0 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
995e0 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
99600 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}.
99620 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
99640 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
99660 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
99680 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?.()).....
996a0 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.(
996c0 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
996e0 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).
99700 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.
99720 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).
99740 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{}.
99760 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
99780 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
997a0 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.-
997c0 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
997e0 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
99800 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
99820 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
99840 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.
99860 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
99880 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
998a0 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
998c0 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
998e0 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
99900 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
99920 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
99940 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.
99960 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))..
99980 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
999a0 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
999c0 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.
999e0 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{}.((
99a00 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
99a20 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..
99a40 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}.@
99a60 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
99a80 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
99aa0 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
99ac0 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
99ae0 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.
99b00 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}...
99b20 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
99b40 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
99b60 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
99b80 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
99ba0 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.
99bc0 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
99be0 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))..
99c00 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))
99c20 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
99c40 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
99c60 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
99c80 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
99ca0 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
99cc0 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
99ce0 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-
99d00 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.()).....@
99d20 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.(-
99d40 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
99d60 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))
99d80 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
99da0 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.
99dc0 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)
99de0 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
99e00 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
99e20 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-
99e40 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
99e60 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
99e80 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}...@
99ea0 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
99ec0 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
99ee0 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
99f00 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{}.((
99f20 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
99f40 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
99f60 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
99f80 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
99fa0 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
99fc0 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.
99fe0 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
9a000 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
9a020 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
9a040 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
9a060 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
9a080 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)).@
9a0a0 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
9a0c0 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{}.((
9a0e0 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
9a100 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
9a120 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.@
9a140 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
9a160 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
9a180 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
9a1a0 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
9a1c0 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?.()
9a1e0 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
9a200 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
9a220 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
9a240 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
9a260 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
9a280 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"
9a2a0 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/
9a2c0 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
9a2e0 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
9a300 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
9a320 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
9a340 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
9a360 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}
9a380 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).
9a3a0 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
9a3c0 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
9a3e0 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
9a400 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
9a420 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
9a440 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)
9a460 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
9a480 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"."
9a4a0 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
9a4c0 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.
9a4e0 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)).....@
9a500 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
9a520 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
9a540 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
9a560 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
9a580 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
9a5a0 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
9a5c0 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
9a5e0 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
9a600 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
9a620 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
9a640 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
9a660 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.(-
9a680 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).
9a6a0 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{}.
9a6c0 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
9a6e0 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}.@
9a700 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
9a720 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.
9a740 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.
9a760 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
9a780 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
9a7a0 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...
9a7c0 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{-
9a7e0 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
9a800 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)
9a820 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
9a840 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
9a860 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.@
9a880 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.(-
9a8a0 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").'("
9a8c0 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{}
9a8e0 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.
9a900 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}
9a920 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
9a940 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}
9a960 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
9a980 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
9a9a0 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,
9a9c0 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
9a9e0 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
9aa00 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.(-
9aa20 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
9aa40 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.
9aa60 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.
9aa80 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))....
9aaa0 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.(
9aac0 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
9aae0 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
9ab00 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.@
9ab20 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{
9ab40 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
9ab60 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
9ab80 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}
9aba0 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
9abc0 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
9abe0 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?
9ac00 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
9ac20 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.(
9ac40 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.
9ac60 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).
9ac80 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
9aca0 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").
9acc0 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
9ace0 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.
9ad00 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}.@
9ad20 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
9ad40 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
9ad60 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..
9ad80 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
9ada0 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
9adc0 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
9ade0 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
9ae00 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)
9ae20 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).
9ae40 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
9ae60 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
9ae80 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
9aea0 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
9aec0 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
9aee0 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
9af00 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
9af20 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
9af40 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.
9af60 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
9af80 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
9afa0 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
9afc0 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
9afe0 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
9b000 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.
9b020 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)
9b040 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
9b060 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.
9b080 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
9b0a0 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
9b0c0 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
9b0e0 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
9b100 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
9b120 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
9b140 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
9b160 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
9b180 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}.
9b1a0 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
9b1c0 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{
9b1e0 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..
9b200 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
9b220 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
9b240 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.
9b260 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.
9b280 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
9b2a0 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
9b2c0 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.
9b2e0 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
9b300 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
9b320 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.
9b340 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
9b360 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.
9b380 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.@
9b3a0 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
9b3c0 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
9b3e0 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.().()).
9b400 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
9b420 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
9b440 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
9b460 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.
9b480 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.
9b4a0 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.
9b4c0 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
9b4e0 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).
9b500 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
9b520 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.
9b540 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
9b560 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
9b580 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
9b5a0 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
9b5c0 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
9b5e0 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.
9b600 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.
9b620 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{}.().
9b640 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
9b660 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
9b680 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
9b6a0 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
9b6c0 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
9b6e0 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}...
9b700 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.())..
9b720 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
9b740 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
9b760 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)
9b780 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.@
9b7a0 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{
9b7c0 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
9b7e0 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
9b800 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
9b820 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
9b840 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
9b860 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{}
9b880 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
9b8a0 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
9b8c0 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)
9b8e0 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
9b900 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
9b920 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
9b940 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.
9b960 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
9b980 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
9b9a0 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-
9b9c0 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:.@
9b9e0 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
9ba00 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
9ba20 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.
9ba40 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
9ba60 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
9ba80 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.
9baa0 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
9bac0 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
9bae0 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.
9bb00 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
9bb20 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}.
9bb40 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.@
9bb60 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.
9bb80 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
9bba0 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
9bbc0 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
9bbe0 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
9bc00 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.@
9bc20 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.
9bc40 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
9bc60 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.
9bc80 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{}.
9bca0 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.
9bcc0 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
9bce0 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
9bd00 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
9bd20 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
9bd40 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
9bd60 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
9bd80 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
9bda0 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)..
9bdc0 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
9bde0 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{}
9be00 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
9be20 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.
9be40 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
9be60 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
9be80 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
9bea0 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
9bec0 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
9bee0 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.
9bf00 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
9bf20 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
9bf40 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
9bf60 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
9bf80 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
9bfa0 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
9bfc0 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
9bfe0 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
9c000 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
9c020 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.
9c040 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
9c060 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
9c080 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...
9c0a0 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
9c0c0 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..
9c0e0 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)
9c100 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
9c120 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.
9c140 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)
9c160 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.
9c180 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.
9c1a0 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
9c1c0 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
9c1e0 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).
9c200 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
9c220 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
9c240 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
9c260 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
9c280 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."-".
9c2a0 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
9c2c0 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."-".'(
9c2e0 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"
9c300 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
9c320 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
9c340 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.(&
9c360 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
9c380 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
9c3a0 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
9c3c0 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
9c3e0 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").
9c400 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.'
9c420 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"))....
9c440 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")
9c460 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.
9c480 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
9c4a0 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
9c4c0 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
9c4e0 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
9c500 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
9c520 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
9c540 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
9c560 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.
9c580 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
9c5a0 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.
9c5c0 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
9c5e0 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}
9c600 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
9c620 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
9c640 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
9c660 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
9c680 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.
9c6a0 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
9c6c0 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
9c6e0 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
9c700 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
9c720 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
9c740 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
9c760 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
9c780 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
9c7a0 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{
9c7c0 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
9c7e0 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
9c800 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
9c820 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.
9c840 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
9c860 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.
9c880 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
9c8a0 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-
9c8c0 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)).....@
9c8e0 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
9c900 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
9c920 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
9c940 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
9c960 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.".
9c980 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
9c9a0 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
9c9c0 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
9c9e0 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
9ca00 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
9ca20 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}.
9ca40 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
9ca60 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
9ca80 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.
9caa0 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
9cac0 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
9cae0 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
9cb00 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
9cb20 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
9cb40 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
9cb60 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
9cb80 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
9cba0 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
9cbc0 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
9cbe0 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-
9cc00 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
9cc20 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
9cc40 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)
9cc60 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)
9cc80 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
9cca0 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
9ccc0 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)).@
9cce0 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).'(
9cd00 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
9cd20 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
9cd40 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
9cd60 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
9cd80 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
9cda0 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
9cdc0 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
9cde0 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
9ce00 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
9ce20 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
9ce40 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
9ce60 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
9ce80 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
9cea0 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
9cec0 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...
9cee0 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
9cf00 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
9cf20 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
9cf40 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
9cf60 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).'(
9cf80 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).(
9cfa0 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.(-
9cfc0 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)).
9cfe0 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
9d000 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
9d020 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.
9d040 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
9d060 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}.
9d080 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
9d0a0 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
9d0c0 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.
9d0e0 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
9d100 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.
9d120 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
9d140 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
9d160 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.@
9d180 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
9d1a0 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
9d1c0 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{
9d1e0 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
9d200 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
9d220 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
9d240 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
9d260 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
9d280 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
9d2a0 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
9d2c0 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
9d2e0 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
9d300 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
9d320 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:.
9d340 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
9d360 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.
9d380 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")))....
9d3a0 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"
9d3c0 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
9d3e0 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).(
9d400 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.
9d420 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
9d440 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))).....@
9d460 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.
9d480 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..@
9d4a0 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
9d4c0 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.
9d4e0 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
9d500 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
9d520 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
9d540 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
9d560 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)))....
9d580 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
9d5a0 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
9d5c0 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".
9d5e0 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
9d600 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))
9d620 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))
9d640 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
9d660 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.(
9d680 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.
9d6a0 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
9d6c0 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
9d6e0 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
9d700 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.(
9d720 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
9d740 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
9d760 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
9d780 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
9d7a0 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
9d7c0 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
9d7e0 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
9d800 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
9d820 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
9d840 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
9d860 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.
9d880 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
9d8a0 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
9d8c0 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
9d8e0 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
9d900 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
9d920 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
9d940 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
9d960 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}).
9d980 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.
9d9a0 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
9d9c0 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
9d9e0 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).(
9da00 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
9da20 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
9da40 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
9da60 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.(
9da80 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{}
9daa0 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
9dac0 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
9dae0 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
9db00 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
9db20 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.&
9db40 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
9db60 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
9db80 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
9dba0 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
9dbc0 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
9dbe0 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
9dc00 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.
9dc20 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
9dc40 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
9dc60 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,.
9dc80 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
9dca0 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
9dcc0 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-.
9dce0 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
9dd00 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
9dd20 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...
9dd40 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
9dd60 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}.
9dd80 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
9dda0 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).'(
9ddc0 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.
9dde0 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)
9de00 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.
9de20 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
9de40 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.
9de60 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.'-
9de80 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.
9dea0 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
9dec0 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
9dee0 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.
9df00 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
9df20 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
9df40 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
9df60 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
9df80 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
9dfa0 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.
9dfc0 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
9dfe0 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
9e000 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'
9e020 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
9e040 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
9e060 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
9e080 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
9e0a0 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{
9e0c0 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
9e0e0 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{
9e100 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
9e120 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
9e140 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.
9e160 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
9e180 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
9e1a0 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.
9e1c0 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.
9e1e0 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?.
9e200 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.
9e220 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
9e240 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
9e260 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
9e280 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
9e2a0 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
9e2c0 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)
9e2e0 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
9e300 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...
9e320 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}.(@
9e340 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
9e360 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})...@
9e380 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.
9e3a0 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
9e3c0 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
9e3e0 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
9e400 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.(
9e420 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).....@
9e440 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
9e460 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
9e480 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.(
9e4a0 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.
9e4c0 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}
9e4e0 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{
9e500 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
9e520 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
9e540 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
9e560 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
9e580 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.@
9e5a0 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{
9e5c0 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.
9e5e0 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.
9e600 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}
9e620 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{
9e640 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
9e660 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
9e680 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
9e6a0 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
9e6c0 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.@
9e6e0 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{
9e700 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
9e720 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.
9e740 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
9e760 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
9e780 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
9e7a0 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
9e7c0 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{}.
9e7e0 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
9e800 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
9e820 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
9e840 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-
9e860 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
9e880 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{
9e8a0 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:.@
9e8c0 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
9e8e0 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-
9e900 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{}
9e920 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
9e940 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
9e960 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
9e980 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
9e9a0 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
9e9c0 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
9e9e0 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
9ea00 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
9ea20 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)
9ea40 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
9ea60 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))).
9ea80 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)
9eaa0 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
9eac0 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
9eae0 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
9eb00 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
9eb20 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
9eb40 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))
9eb60 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.
9eb80 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
9eba0 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
9ebc0 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.@
9ebe0 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
9ec00 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.(
9ec20 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}
9ec40 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
9ec60 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.
9ec80 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
9eca0 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..
9ecc0 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.
9ece0 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.
9ed00 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
9ed20 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
9ed40 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
9ed60 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.
9ed80 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.'>
9eda0 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)
9edc0 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
9ede0 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{}.
9ee00 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.
9ee20 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
9ee40 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
9ee60 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
9ee80 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
9eea0 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.
9eec0 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.
9eee0 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
9ef00 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.@
9ef20 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
9ef40 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
9ef60 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
9ef80 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
9efa0 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
9efc0 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..
9efe0 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).....@
9f000 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.(
9f020 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.
9f040 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))...
9f060 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.@
9f080 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{
9f0a0 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
9f0c0 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
9f0e0 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
9f100 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
9f120 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
9f140 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.
9f160 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
9f180 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).
9f1a0 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
9f1c0 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.@
9f1e0 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
9f200 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)))).(--
9f220 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
9f240 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
9f260 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
9f280 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
9f2a0 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.
9f2c0 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
9f2e0 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
9f300 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
9f320 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
9f340 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
9f360 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
9f380 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
9f3a0 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
9f3c0 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.
9f3e0 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
9f400 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
9f420 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
9f440 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.
9f460 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
9f480 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
9f4a0 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.(-
9f4c0 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
9f4e0 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{}.
9f500 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
9f520 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
9f540 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.
9f560 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))))
9f580 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
9f5a0 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
9f5c0 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.(--
9f5e0 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
9f600 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]]])....
9f620 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]]
9f640 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
9f660 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.@
9f680 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
9f6a0 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.@
9f6c0 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{
9f6e0 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.
9f700 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
9f720 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)
9f740 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.
9f760 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-
9f780 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
9f7a0 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{
9f7c0 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.
9f7e0 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
9f800 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
9f820 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>"))...
9f840 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
9f860 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
9f880 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
9f8a0 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
9f8c0 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
9f8e0 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
9f900 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
9f920 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
9f940 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
9f960 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.
9f980 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
9f9a0 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
9f9c0 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
9f9e0 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
9fa00 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
9fa20 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-
9fa40 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
9fa60 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
9fa80 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."
9faa0 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))
9fac0 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
9fae0 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
9fb00 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
9fb20 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
9fb40 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
9fb60 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
9fb80 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
9fba0 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.
9fbc0 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.
9fbe0 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
9fc00 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.
9fc20 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
9fc40 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
9fc60 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
9fc80 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
9fca0 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
9fcc0 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{
9fce0 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
9fd00 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
9fd20 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
9fd40 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...
9fd60 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
9fd80 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
9fda0 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
9fdc0 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
9fde0 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
9fe00 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
9fe20 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
9fe40 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"))))..
9fe60 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
9fe80 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
9fea0 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
9fec0 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.
9fee0 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
9ff00 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
9ff20 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
9ff40 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{
9ff60 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>
9ff80 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
9ffa0 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
9ffc0 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
9ffe0 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
a0000 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
a0020 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
a0040 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}.
a0060 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.
a0080 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}
a00a0 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
a00c0 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
a00e0 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
a0100 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...
a0120 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.
a0140 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
a0160 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
a0180 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.
a01a0 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.
a01c0 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
a01e0 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
a0200 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
a0220 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
a0240 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
a0260 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
a0280 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
a02a0 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.
a02c0 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
a02e0 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{
a0300 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
a0320 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
a0340 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.
a0360 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
a0380 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.
a03a0 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
a03c0 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
a03e0 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
a0400 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{-
a0420 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-
a0440 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.
a0460 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
a0480 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.
a04a0 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
a04c0 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.
a04e0 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
a0500 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
a0520 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.
a0540 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
a0560 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
a0580 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))
a05a0 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))))
a05c0 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
a05e0 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
a0600 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-
a0620 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
a0640 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
a0660 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
a0680 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
a06a0 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
a06c0 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
a06e0 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.
a0700 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
a0720 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
a0740 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
a0760 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
a0780 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.
a07a0 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
a07c0 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
a07e0 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
a0800 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.
a0820 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
a0840 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.(-
a0860 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.'*
a0880 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))
a08a0 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
a08c0 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
a08e0 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
a0900 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))))....
a0920 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)).(
a0940 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
a0960 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
a0980 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
a09a0 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)).".->.".(
a09c0 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
a09e0 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).".:.@{"))).(
a0a00 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
a0a20 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-.
a0a40 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).
a0a60 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
a0a80 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
a0aa0 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
a0ac0 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.:.@{
a0ae0 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-
a0b00 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@
a0b20 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
a0b40 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.
a0b60 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
a0b80 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
a0ba0 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
a0bc0 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.
a0be0 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
a0c00 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
a0c20 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.@
a0c40 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
a0c60 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
a0c80 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.
a0ca0 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
a0cc0 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
a0ce0 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.
a0d00 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
a0d20 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{->
a0d40 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.&
a0d60 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
a0d80 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.
a0da0 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
a0dc0 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.
a0de0 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
a0e00 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
a0e20 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.
a0e40 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.(->.
a0e60 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).
a0e80 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).(
a0ea0 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{}.(
a0ec0 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.(-
a0ee0 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
a0f00 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)
a0f20 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
a0f40 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.->>.(
a0f60 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
a0f80 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..
a0fa0 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.
a0fc0 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
a0fe0 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
a1000 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
a1020 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
a1040 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
a1060 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
a1080 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
a10a0 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).(-
a10c0 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?))..
a10e0 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
a1100 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
a1120 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
a1140 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
a1160 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.-->.(
a1180 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
a11a0 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
a11c0 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}...
a11e0 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
a1200 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}
a1220 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
a1240 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
a1260 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
a1280 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
a12a0 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".(
a12c0 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
a12e0 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
a1300 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.
a1320 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{
a1340 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.
a1360 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
a1380 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
a13a0 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
a13c0 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
a13e0 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
a1400 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
a1420 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
a1440 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
a1460 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}
a1480 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
a14a0 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.
a14c0 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
a14e0 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
a1500 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
a1520 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))..
a1540 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
a1560 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
a1580 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->.
a15a0 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
a15c0 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..@
a15e0 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->.
a1600 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
a1620 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
a1640 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{
a1660 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
a1680 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.
a16a0 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
a16c0 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{
a16e0 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
a1700 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.
a1720 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
a1740 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
a1760 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
a1780 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
a17a0 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
a17c0 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.
a17e0 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.@
a1800 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
a1820 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
a1840 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
a1860 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
a1880 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)
a18a0 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
a18c0 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))...
a18e0 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
a1900 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
a1920 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.@
a1940 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
a1960 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
a1980 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
a19a0 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}.
a19c0 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
a19e0 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.
a1a00 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,
a1a20 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
a1a40 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
a1a60 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.
a1a80 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
a1aa0 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
a1ac0 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
a1ae0 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
a1b00 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
a1b20 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.
a1b40 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).(-
a1b60 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.
a1b80 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{
a1ba0 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
a1bc0 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
a1be0 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
a1c00 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
a1c20 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{
a1c40 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
a1c60 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
a1c80 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
a1ca0 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{->}
a1cc0 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
a1ce0 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
a1d00 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
a1d20 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
a1d40 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)..
a1d60 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
a1d80 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).
a1da0 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
a1dc0 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.
a1de0 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
a1e00 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.@
a1e20 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
a1e40 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
a1e60 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
a1e80 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
a1ea0 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
a1ec0 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.((
a1ee0 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
a1f00 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.
a1f20 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...
a1f40 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.
a1f60 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})...
a1f80 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
a1fa0 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"
a1fc0 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
a1fe0 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
a2000 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
a2020 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
a2040 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.(
a2060 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
a2080 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
a20a0 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.
a20c0 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
a20e0 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
a2100 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
a2120 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
a2140 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.
a2160 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
a2180 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
a21a0 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
a21c0 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*
a21e0 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
a2200 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
a2220 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
a2240 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.
a2260 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
a2280 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
a22a0 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*.
a22c0 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))
a22e0 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
a2300 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{
a2320 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
a2340 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
a2360 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.
a2380 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},.
a23a0 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:.
a23c0 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
a23e0 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
a2400 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.
a2420 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
a2440 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.@
a2460 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
a2480 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
a24a0 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
a24c0 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-
a24e0 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)
a2500 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
a2520 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
a2540 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
a2560 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
a2580 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
a25a0 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
a25c0 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
a25e0 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*})..
a2600 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
a2620 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
a2640 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
a2660 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
a2680 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
a26a0 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
a26c0 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).(
a26e0 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")..
a2700 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
a2720 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
a2740 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.
a2760 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..
a2780 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
a27a0 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
a27c0 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
a27e0 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
a2800 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.(@
a2820 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
a2840 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
a2860 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
a2880 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
a28a0 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}.
a28c0 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.
a28e0 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
a2900 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
a2920 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-
a2940 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
a2960 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
a2980 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
a29a0 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
a29c0 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}.
a29e0 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
a2a00 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
a2a20 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
a2a40 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{
a2a60 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{})
a2a80 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
a2aa0 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
a2ac0 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
a2ae0 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
a2b00 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
a2b20 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
a2b40 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
a2b60 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
a2b80 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
a2ba0 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
a2bc0 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
a2be0 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
a2c00 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
a2c20 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
a2c40 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,
a2c60 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
a2c80 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
a2ca0 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:
a2cc0 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
a2ce0 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
a2d00 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
a2d20 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.
a2d40 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).
a2d60 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
a2d80 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)
a2da0 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
a2dc0 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
a2de0 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
a2e00 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{
a2e20 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{}..
a2e40 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).-
a2e60 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.
a2e80 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].
a2ea0 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
a2ec0 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
a2ee0 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
a2f00 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
a2f20 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
a2f40 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.
a2f60 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
a2f80 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{}........
a2fa0 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}
a2fc0 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
a2fe0 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....................
a3000 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.
a3020 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
a3040 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.
a3060 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
a3080 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.....[
a30a0 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
a30c0 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...
a30e0 20 20 20 20 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.
a3100 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
a3120 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
a3140 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
a3160 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...........................
a3180 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..
a31a0 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
a31c0 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).-.
a31e0 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
a3200 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 ................................
a3220 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.
a3240 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.............................
a3260 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
a3280 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..............................
a32a0 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
a32c0 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.@
a32e0 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
a3300 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..............
a3320 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}
a3340 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...........
a3360 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.
a3380 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............
a33a0 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
a33c0 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
a33e0 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
a3400 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.
a3420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a3440 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...
a3460 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..........................
a3480 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
a34a0 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............................
a34c0 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
a34e0 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
a3500 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
a3520 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
a3540 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.
a3560 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
a3580 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
a35a0 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
a35c0 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
a35e0 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.
a3600 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
a3620 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
a3640 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
a3660 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
a3680 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.
a36a0 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
a36c0 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
a36e0 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
a3700 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{
a3720 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
a3740 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
a3760 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
a3780 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
a37a0 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.
a37c0 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
a37e0 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
a3800 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.
a3820 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.
a3840 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
a3860 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.
a3880 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
a38a0 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
a38c0 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
a38e0 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....
a3900 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
a3920 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)
a3940 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.
a3960 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.
a3980 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
a39a0 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
a39c0 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.
a39e0 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
a3a00 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
a3a20 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
a3a40 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
a3a60 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
a3a80 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.
a3aa0 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
a3ac0 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)
a3ae0 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.
a3b00 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
a3b20 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
a3b40 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}
a3b60 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
a3b80 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
a3ba0 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
a3bc0 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).
a3be0 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
a3c00 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.
a3c20 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{
a3c40 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._
a3c60 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.
a3c80 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
a3ca0 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
a3cc0 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
a3ce0 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.@
a3d00 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.(
a3d20 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
a3d40 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
a3d60 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.
a3d80 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.
a3da0 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
a3dc0 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
a3de0 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
a3e00 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
a3e20 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
a3e40 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.
a3e60 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
a3e80 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.
a3ea0 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
a3ec0 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...
a3ee0 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
a3f00 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)
a3f20 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.
a3f40 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
a3f60 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.
a3f80 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
a3fa0 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.
a3fc0 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.(
a3fe0 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]))
a4000 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{}.(
a4020 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
a4040 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)
a4060 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{}.
a4080 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
a40a0 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
a40c0 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.:
a40e0 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
a4100 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
a4120 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*}.
a4140 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
a4160 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.@
a4180 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
a41a0 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
a41c0 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}.
a41e0 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
a4200 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
a4220 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
a4240 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
a4260 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
a4280 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
a42a0 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
a42c0 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
a42e0 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
a4300 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
a4320 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.@
a4340 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
a4360 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.
a4380 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...
a43a0 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.
a43c0 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
a43e0 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.(
a4400 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.
a4420 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)
a4440 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).
a4460 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
a4480 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
a44a0 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.'
a44c0 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
a44e0 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{}.(
a4500 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
a4520 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
a4540 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
a4560 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
a4580 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.@
a45a0 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
a45c0 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.
a45e0 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.
a4600 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:....
a4620 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
a4640 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
a4660 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
a4680 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.
a46a0 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
a46c0 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...
a46e0 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
a4700 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
a4720 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
a4740 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)
a4760 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
a4780 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
a47a0 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))
a47c0 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
a47e0 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.
a4800 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).(_...
a4820 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.
a4840 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
a4860 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
a4880 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.
a48a0 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
a48c0 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
a48e0 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
a4900 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
a4920 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}.(
a4940 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
a4960 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
a4980 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.
a49a0 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..
a49c0 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
a49e0 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
a4a00 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).
a4a20 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
a4a40 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
a4a60 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
a4a80 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
a4aa0 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
a4ac0 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
a4ae0 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).
a4b00 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
a4b20 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
a4b40 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
a4b60 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.
a4b80 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.:
a4ba0 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
a4bc0 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
a4be0 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
a4c00 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.
a4c20 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.
a4c40 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
a4c60 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
a4c80 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;
a4ca0 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
a4cc0 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
a4ce0 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
a4d00 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
a4d20 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
a4d40 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
a4d60 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).
a4d80 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
a4da0 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
a4dc0 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).(--
a4de0 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)...
a4e00 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.@
a4e20 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
a4e40 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.@
a4e60 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{
a4e80 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.
a4ea0 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.
a4ec0 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
a4ee0 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.
a4f00 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
a4f20 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
a4f40 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
a4f60 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
a4f80 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..
a4fa0 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
a4fc0 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
a4fe0 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.
a5000 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
a5020 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
a5040 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-
a5060 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.
a5080 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
a50a0 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)).(--
a50c0 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).(
a50e0 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
a5100 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
a5120 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}.
a5140 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
a5160 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
a5180 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.@
a51a0 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
a51c0 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}.@
a51e0 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
a5200 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
a5220 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
a5240 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
a5260 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)
a5280 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
a52a0 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).
a52c0 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)
a52e0 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).(--
a5300 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
a5320 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
a5340 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
a5360 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
a5380 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
a53a0 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.@
a53c0 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
a53e0 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
a5400 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}
a5420 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;.
a5440 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
a5460 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
a5480 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
a54a0 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.'(
a54c0 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))).
a54e0 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
a5500 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.'(
a5520 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
a5540 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.(
a5560 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)....
a5580 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
a55a0 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
a55c0 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.(
a55e0 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
a5600 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{
a5620 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
a5640 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
a5660 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
a5680 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.
a56a0 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
a56c0 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
a56e0 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
a5700 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
a5720 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-
a5740 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
a5760 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
a5780 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
a57a0 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).(>=
a57c0 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
a57e0 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
a5800 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.
a5820 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)))
a5840 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.
a5860 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
a5880 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.
a58a0 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
a58c0 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..
a58e0 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
a5900 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
a5920 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.@
a5940 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
a5960 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
a5980 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
a59a0 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
a59c0 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).
a59e0 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.
a5a00 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
a5a20 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
a5a40 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)
a5a60 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
a5a80 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.
a5aa0 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
a5ac0 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
a5ae0 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
a5b00 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
a5b20 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
a5b40 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
a5b60 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
a5b80 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
a5ba0 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
a5bc0 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.
a5be0 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
a5c00 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
a5c20 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
a5c40 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
a5c60 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
a5c80 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}.
a5ca0 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
a5cc0 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
a5ce0 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
a5d00 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
a5d20 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
a5d40 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..@
a5d60 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
a5d80 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
a5da0 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
a5dc0 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
a5de0 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
a5e00 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.
a5e20 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}
a5e40 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.
a5e60 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
a5e80 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
a5ea0 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
a5ec0 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.
a5ee0 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
a5f00 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
a5f20 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...@
a5f40 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
a5f60 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
a5f80 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.#
a5fa0 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
a5fc0 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.#'
a5fe0 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.
a6000 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..@
a6020 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
a6040 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
a6060 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
a6080 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
a60a0 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.@
a60c0 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
a60e0 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
a6100 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{
a6120 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
a6140 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
a6160 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
a6180 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
a61a0 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
a61c0 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
a61e0 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
a6200 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
a6220 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
a6240 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
a6260 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
a6280 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
a62a0 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
a62c0 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
a62e0 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
a6300 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
a6320 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
a6340 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
a6360 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.
a6380 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
a63a0 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
a63c0 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...@
a63e0 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).
a6400 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
a6420 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.#'+.#'-.
a6440 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.
a6460 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
a6480 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+
a64a0 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)
a64c0 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
a64e0 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}.
a6500 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
a6520 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
a6540 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
a6560 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
a6580 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
a65a0 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
a65c0 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
a65e0 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
a6600 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
a6620 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
a6640 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
a6660 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
a6680 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
a66a0 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
a66c0 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
a66e0 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).
a6700 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
a6720 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
a6740 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
a6760 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
a6780 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
a67a0 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
a67c0 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
a67e0 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.
a6800 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
a6820 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.
a6840 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
a6860 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
a6880 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.#'+)
a68a0 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
a68c0 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.#'+).'
a68e0 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))).....@
a6900 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
a6920 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.
a6940 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.@
a6960 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{
a6980 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
a69a0 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
a69c0 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.
a69e0 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
a6a00 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
a6a20 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
a6a40 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
a6a60 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
a6a80 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},
a6aa0 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
a6ac0 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
a6ae0 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:....
a6b00 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).=
a6b20 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
a6b40 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+)).......=.(+)
a6b60 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.#'
a6b80 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))
a6ba0 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.
a6bc0 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.(
a6be0 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
a6c00 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
a6c20 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
a6c40 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.
a6c60 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
a6c80 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
a6ca0 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
a6cc0 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
a6ce0 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
a6d00 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
a6d20 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{
a6d40 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
a6d60 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
a6d80 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.#'-)
a6da0 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
a6dc0 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
a6de0 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.(
a6e00 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
a6e20 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
a6e40 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).
a6e60 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
a6e80 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).....@
a6ea0 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
a6ec0 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
a6ee0 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).
a6f00 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
a6f20 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}.
a6f40 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
a6f60 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
a6f80 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
a6fa0 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}
a6fc0 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
a6fe0 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
a7000 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
a7020 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
a7040 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
a7060 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
a7080 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
a70a0 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).
a70c0 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
a70e0 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
a7100 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
a7120 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.
a7140 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.
a7160 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.
a7180 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
a71a0 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.
a71c0 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
a71e0 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.
a7200 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
a7220 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
a7240 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
a7260 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"
a7280 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.
a72a0 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
a72c0 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"))).....@
a72e0 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
a7300 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
a7320 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-
a7340 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
a7360 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
a7380 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
a73a0 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}
a73c0 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
a73e0 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.
a7400 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{}.
a7420 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.(-
a7440 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-.
a7460 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
a7480 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
a74a0 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
a74c0 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{}.(
a74e0 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
a7500 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..@
a7520 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).
a7540 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.
a7560 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
a7580 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
a75a0 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
a75c0 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
a75e0 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.
a7600 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}.(@
a7620 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}.
a7640 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
a7660 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")
a7680 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
a76a0 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
a76c0 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
a76e0 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.(-
a7700 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.
a7720 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
a7740 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..
a7760 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
a7780 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
a77a0 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
a77c0 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.
a77e0 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
a7800 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
a7820 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.
a7840 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
a7860 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
a7880 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
a78a0 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{
a78c0 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
a78e0 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.
a7900 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
a7920 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})
a7940 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}).
a7960 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
a7980 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.
a79a0 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.
a79c0 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
a79e0 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-
a7a00 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
a7a20 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
a7a40 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
a7a60 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.
a7a80 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
a7aa0 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
a7ac0 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.
a7ae0 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
a7b00 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
a7b20 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
a7b40 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.
a7b60 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.
a7b80 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,.
a7ba0 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
a7bc0 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
a7be0 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
a7c00 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
a7c20 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}.
a7c40 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
a7c60 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
a7c80 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
a7ca0 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
a7cc0 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.(
a7ce0 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))...
a7d00 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
a7d20 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.#'
a7d40 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
a7d60 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
a7d80 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)....
a7da0 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
a7dc0 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
a7de0 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
a7e00 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
a7e20 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
a7e40 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.
a7e60 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
a7e80 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}.
a7ea0 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
a7ec0 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
a7ee0 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
a7f00 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
a7f20 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
a7f40 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
a7f60 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).=.
a7f80 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
a7fa0 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
a7fc0 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
a7fe0 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.
a8000 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
a8020 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
a8040 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
a8060 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
a8080 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
a80a0 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}
a80c0 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
a80e0 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
a8100 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
a8120 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
a8140 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
a8160 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
a8180 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
a81a0 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
a81c0 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.
a81e0 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
a8200 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.
a8220 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
a8240 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
a8260 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
a8280 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
a82a0 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
a82c0 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
a82e0 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
a8300 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
a8320 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
a8340 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
a8360 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
a8380 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
a83a0 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},.....
a83c0 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
a83e0 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}.
a8400 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
a8420 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
a8440 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
a8460 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
a8480 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
a84a0 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
a84c0 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
a84e0 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
a8500 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
a8520 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
a8540 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.@
a8560 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
a8580 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.
a85a0 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
a85c0 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
a85e0 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{}
a8600 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.@
a8620 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.(
a8640 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)..
a8660 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.
a8680 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
a86a0 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
a86c0 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.@
a86e0 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{
a8700 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
a8720 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
a8740 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.
a8760 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
a8780 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
a87a0 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
a87c0 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):.
a87e0 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).-
a8800 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
a8820 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
a8840 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
a8860 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
a8880 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
a88a0 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{}).=.
a88c0 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
a88e0 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
a8900 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
a8920 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
a8940 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').
a8960 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
a8980 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
a89a0 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
a89c0 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
a89e0 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
a8a00 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
a8a20 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
a8a40 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
a8a60 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
a8a80 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
a8aa0 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
a8ac0 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
a8ae0 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
a8b00 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
a8b20 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.
a8b40 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
a8b60 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
a8b80 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
a8ba0 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::
a8bc0 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
a8be0 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
a8c00 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
a8c20 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,
a8c40 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
a8c60 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,
a8c80 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
a8ca0 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
a8cc0 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.
a8ce0 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.
a8d00 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
a8d20 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
a8d40 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
a8d60 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
a8d80 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
a8da0 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
a8dc0 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
a8de0 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
a8e00 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
a8e20 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.
a8e40 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
a8e60 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
a8e80 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...
a8ea0 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
a8ec0 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
a8ee0 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
a8f00 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
a8f20 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
a8f40 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
a8f60 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
a8f80 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.
a8fa0 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
a8fc0 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
a8fe0 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
a9000 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.
a9020 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
a9040 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
a9060 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.@
a9080 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
a90a0 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{
a90c0 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
a90e0 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
a9100 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
a9120 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
a9140 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
a9160 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
a9180 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
a91a0 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
a91c0 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
a91e0 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}
a9200 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
a9220 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-
a9240 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
a9260 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
a9280 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
a92a0 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}.
a92c0 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
a92e0 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
a9300 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}
a9320 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
a9340 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
a9360 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
a9380 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
a93a0 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
a93c0 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
a93e0 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
a9400 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
a9420 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
a9440 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
a9460 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
a9480 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
a94a0 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
a94c0 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
a94e0 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
a9500 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
a9520 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
a9540 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
a9560 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
a9580 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
a95a0 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
a95c0 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
a95e0 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
a9600 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
a9620 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.
a9640 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
a9660 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->
a9680 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.@
a96a0 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
a96c0 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
a96e0 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},.
a9700 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
a9720 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
a9740 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
a9760 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
a9780 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
a97a0 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
a97c0 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...@
a97e0 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
a9800 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.
a9820 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
a9840 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
a9860 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
a9880 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.@
a98a0 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.
a98c0 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...........................
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 ................................