summaryrefslogtreecommitdiff
path: root/localrepo/dash-2.19.1.tar
blob: b0a6222aa81d8e6bb543685dc6acebffc109508f (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 35 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 30 35 00 20 30 00 00 00 0000517.00000000000.013205..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 6b 65 79 .for.Emacs".'((emacs."24")).:key
04a0 77 6f 72 64 73 20 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 20 22 6c 69 73 70 22 29 20 3a 61 75 words.'("extensions"."lisp").:au
04c0 74 68 6f 72 73 20 27 28 28 22 4d 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 thors.'(("Magnar.Sveen"..."magna
04e0 72 73 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 4d rs@gmail.com")).:maintainer.'("M
0500 61 67 6e 61 72 20 53 76 65 65 6e 22 20 2e 20 22 6d 61 67 6e 61 72 73 40 67 6d 61 69 6c 2e 63 6f agnar.Sveen"..."magnars@gmail.co
0520 6d 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 m").:url."https://github.com/mag
0540 6e 61 72 73 2f 64 61 73 68 2e 65 6c 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nars/dash.el")..................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 64 61 73 68 2d 32 2e 31 39 2e 31 2f 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 32 35 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 30 34 00 20 30 00 00 00 0572576.00000000000.013004..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 61 73 68 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 6d This.is.dash.info,.produced.by.m
3fa20 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 35 20 66 72 6f 6d 20 64 61 73 68 2e 74 65 akeinfo.version.6.5.from.dash.te
3fa40 78 69 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 44 61 73 68 20 76 65 72 xi...This.manual.is.for.Dash.ver
3fa60 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 sion.2.19.1......Copyright....20
3fa80 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 6e 64 61 74 69 12...2021.Free.Software.Foundati
3faa0 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 on,.Inc........Permission.is.gra
3fac0 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 nted.to.copy,.distribute.and/or.
3fae0 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 modify.this......document.under.
3fb00 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
3fb20 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e ntation.License,......Version.1.
3fb40 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 3.or.any.later.version.published
3fb60 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 .by.the.Free.Software......Found
3fb80 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f ation;.with.the.Invariant.Sectio
3fba0 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 20 ns.being....GNU.General.Public..
3fbc0 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 ....License,....and.no.Front-Cov
3fbe0 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
3fc00 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 .copy.of......the.license.is.inc
3fc20 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 20 e2 80 luded.in.the.section.entitled...
3fc40 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 .GNU.Free......Documentation.Lic
3fc60 65 6e 73 65 e2 80 9d 2e 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 63 73 0a ense.....INFO-DIR-SECTION.Emacs.
3fc80 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 44 61 73 68 3a 20 28 64 61 START-INFO-DIR-ENTRY.*.Dash:.(da
3fca0 73 68 2e 69 6e 66 6f 29 2e 20 20 20 20 41 20 6d 6f 64 65 72 6e 20 6c 69 73 74 20 6c 69 62 72 61 sh.info).....A.modern.list.libra
3fcc0 72 79 20 66 6f 72 20 47 4e 55 20 45 6d 61 63 73 2e 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 ry.for.GNU.Emacs..END-INFO-DIR-E
3fce0 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 NTRY....File:.dash.info,..Node:.
3fd00 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 28 Top,..Next:.Installation,..Up:.(
3fd20 64 69 72 29 0a 0a 44 61 73 68 0a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 dir)..Dash.****..This.manual.is.
3fd40 66 6f 72 20 44 61 73 68 20 76 65 72 73 69 6f 6e 20 32 2e 31 39 2e 31 2e 0a 0a 20 20 20 43 6f 70 for.Dash.version.2.19.1......Cop
3fd60 79 72 69 67 68 74 20 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 yright....2012...2021.Free.Softw
3fd80 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 are.Foundation,.Inc........Permi
3fda0 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 ssion.is.granted.to.copy,.distri
3fdc0 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f 63 bute.and/or.modify.this......doc
3fde0 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ument.under.the.terms.of.the.GNU
3fe00 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 .Free.Documentation.License,....
3fe20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 ..Version.1.3.or.any.later.versi
3fe40 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
3fe60 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 74 68 65 20 49 6e 76 61 e......Foundation;.with.the.Inva
3fe80 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 20 62 65 69 6e 67 20 e2 80 9c 47 4e 55 20 47 65 6e 65 riant.Sections.being....GNU.Gene
3fea0 72 61 6c 20 50 75 62 6c 69 63 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2c e2 80 9d 20 61 6e 64 20 ral.Public......License,....and.
3fec0 6e 6f 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 20 6f 72 20 42 61 63 6b 2d 43 6f 76 no.Front-Cover.Texts.or.Back-Cov
3fee0 65 72 20 54 65 78 74 73 2e 20 20 41 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 20 74 68 65 20 6c 69 er.Texts...A.copy.of......the.li
3ff00 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e cense.is.included.in.the.section
3ff20 20 65 6e 74 69 74 6c 65 64 20 e2 80 9c 47 4e 55 20 46 72 65 65 0a 20 20 20 20 20 44 6f 63 75 6d .entitled....GNU.Free......Docum
3ff40 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 e2 80 9d 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a entation.License......*.Menu:..*
3ff60 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e .Installation::........Installin
3ff80 67 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 44 61 73 68 2e 0a 2a 20 46 75 6e 63 74 69 g.and.configuring.Dash..*.Functi
3ffa0 6f 6e 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 44 61 73 68 20 41 50 49 20 72 65 66 65 72 65 6e ons::...........Dash.API.referen
3ffc0 63 65 2e 0a 2a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 3a 3a 20 20 20 20 20 20 20 20 20 43 6f 6e 74 ce..*.Development::.........Cont
3ffe0 72 69 62 75 74 69 6e 67 20 74 6f 20 44 61 73 68 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 41 ributing.to.Dash.development...A
40000 70 70 65 6e 64 69 63 65 73 0a 0a 2a 20 46 44 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ppendices..*.FDL::..............
40020 20 20 20 54 68 65 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 ...The.license.for.this.document
40040 61 74 69 6f 6e 2e 0a 2a 20 47 50 4c 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 ation..*.GPL::.................C
40060 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 61 6e 64 20 63 68 61 6e 67 69 onditions.for.copying.and.changi
40080 6e 67 20 44 61 73 68 2e 0a 2a 20 49 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.Dash..*.Index::..............
400a0 20 49 6e 64 65 78 20 69 6e 63 6c 75 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d .Index.including.functions.and.m
400c0 61 63 72 6f 73 2e 0a 0a 20 e2 80 94 20 54 68 65 20 44 65 74 61 69 6c 65 64 20 4e 6f 64 65 20 4c acros........The.Detailed.Node.L
400e0 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 2a 20 55 73 69 6e isting......Installation..*.Usin
40100 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 g.in.a.package::..Listing.Dash.a
40120 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 s.a.package.dependency..*.Fontif
40140 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 ication.of.special.variables::..
40160 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 Font.Lock.of.anaphoric.macro.var
40180 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 iables..*.Info.symbol.lookup::..
401a0 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 Looking.up.Dash.symbols.in.this.
401c0 6d 61 6e 75 61 6c 2e 0a 0a 46 75 6e 63 74 69 6f 6e 73 0a 0a 2a 20 4d 61 70 73 3a 3a 0a 2a 20 53 manual...Functions..*.Maps::.*.S
401e0 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 6c 69 73 ublist.selection::.*.List.to.lis
40200 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e 67 3a 3a t::.*.Reductions::.*.Unfolding::
40220 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 3a 3a .*.Predicates::.*.Partitioning::
40240 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a .*.Indexing::.*.Set.operations::
40260 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 72 65 .*.Other.list.operations::.*.Tre
40280 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f e.operations::.*.Threading.macro
402a0 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 73 3a 3a s::.*.Binding::.*.Side.effects::
402c0 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 46 75 .*.Destructive.operations::.*.Fu
402e0 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 44 65 76 65 6c 6f 70 6d 65 6e nction.combinators::..Developmen
40300 74 0a 0a 2a 20 43 6f 6e 74 72 69 62 75 74 65 3a 3a 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 74 t..*.Contribute::..........How.t
40320 6f 20 63 6f 6e 74 72 69 62 75 74 65 2e 0a 2a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 3a 20 20 o.contribute..*.Contributors::..
40340 20 20 20 20 20 20 4c 69 73 74 20 6f 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 ......List.of.contributors.....F
40360 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 ile:.dash.info,..Node:.Installat
40380 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 54 6f ion,..Next:.Functions,..Prev:.To
403a0 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 2a 2a 2a 2a p,..Up:.Top..1.Installation.****
403c0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 44 61 73 68 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e **********..Dash.is.available.on
403e0 20 47 4e 55 20 45 4c 50 41 20 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 72 67 2f .GNU.ELPA.(https://elpa.gnu.org/
40400 29 2c 20 47 4e 55 2d 64 65 76 65 6c 20 45 4c 50 41 0a 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e ),.GNU-devel.ELPA.(https://elpa.
40420 67 6e 75 2e 6f 72 67 2f 64 65 76 65 6c 2f 29 2c 20 61 6e 64 20 4d 45 4c 50 41 20 28 68 74 74 70 gnu.org/devel/),.and.MELPA.(http
40440 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 29 2c 20 61 6e 64 20 63 61 6e 0a 62 65 20 69 6e 73 74 s://melpa.org/),.and.can.be.inst
40460 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 6f 6d 6d 61 6e 64 20 alled.with.the.standard.command.
40480 e2 80 98 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c e2 80 99 20 28 2a 6e 6f 74 65 0a 28 65 6d ...package-install....(*note.(em
404a0 61 63 73 29 50 61 63 6b 61 67 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 3a 3a 29 2e 0a 0a e2 80 acs)Package.Installation::).....
404c0 98 4d 2d 78 20 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 20 3c 52 45 54 3e 20 64 61 73 68 20 .M-x.package-install.<RET>.dash.
404e0 3c 52 45 54 3e e2 80 99 0a 20 20 20 20 20 49 6e 73 74 61 6c 6c 20 74 68 65 20 44 61 73 68 20 6c <RET>.........Install.the.Dash.l
40500 69 62 72 61 72 79 2e 0a 0a 20 20 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 79 6f 75 20 63 ibrary......Alternatively,.you.c
40520 61 6e 20 6a 75 73 74 20 64 75 6d 70 20 e2 80 98 64 61 73 68 2e 65 6c e2 80 99 20 69 6e 20 79 6f an.just.dump....dash.el....in.yo
40540 75 72 20 e2 80 98 6c 6f 61 64 2d 70 61 74 68 e2 80 99 0a 73 6f 6d 65 77 68 65 72 65 20 28 2a 6e ur....load-path....somewhere.(*n
40560 6f 74 65 20 28 65 6d 61 63 73 29 4c 69 73 70 20 4c 69 62 72 61 72 69 65 73 3a 3a 29 2e 0a 0a 2a ote.(emacs)Lisp.Libraries::)...*
40580 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 3a 3a 20 20 .Menu:..*.Using.in.a.package::..
405a0 4c 69 73 74 69 6e 67 20 44 61 73 68 20 61 73 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 Listing.Dash.as.a.package.depend
405c0 65 6e 63 79 2e 0a 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c ency..*.Fontification.of.special
405e0 20 76 61 72 69 61 62 6c 65 73 3a 3a 20 20 46 6f 6e 74 20 4c 6f 63 6b 20 6f 66 20 61 6e 61 70 68 .variables::..Font.Lock.of.anaph
40600 6f 72 69 63 20 6d 61 63 72 6f 20 76 61 72 69 61 62 6c 65 73 2e 0a 2a 20 49 6e 66 6f 20 73 79 6d oric.macro.variables..*.Info.sym
40620 62 6f 6c 20 6c 6f 6f 6b 75 70 3a 3a 20 20 4c 6f 6f 6b 69 6e 67 20 75 70 20 44 61 73 68 20 73 79 bol.lookup::..Looking.up.Dash.sy
40640 6d 62 6f 6c 73 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 mbols.in.this.manual.....File:.d
40660 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b ash.info,..Node:.Using.in.a.pack
40680 61 67 65 2c 20 20 4e 65 78 74 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 age,..Next:.Fontification.of.spe
406a0 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f cial.variables,..Up:.Installatio
406c0 6e 0a 0a 31 2e 31 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 0a 3d 3d 3d 3d 3d 3d n..1.1.Using.in.a.package.======
406e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 44 61 73 ================..If.you.use.Das
40700 68 20 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 62 65 20 73 75 72 65 20 74 h.in.your.own.package,.be.sure.t
40720 6f 20 6c 69 73 74 20 69 74 20 61 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 0a 69 6e 20 74 68 65 o.list.it.as.a.dependency.in.the
40740 20 6c 69 62 72 61 72 79 e2 80 99 73 20 68 65 61 64 65 72 73 20 61 73 20 66 6f 6c 6c 6f 77 73 20 .library...s.headers.as.follows.
40760 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4c 69 62 72 61 72 79 20 48 65 61 64 65 72 73 3a 3a 29 (*note.(elisp)Library.Headers::)
40780 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 64 ........;;.Package-Requires:.((d
407a0 61 73 68 20 22 32 2e 31 39 2e 31 22 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 ash."2.19.1"))....File:.dash.inf
407c0 6f 2c 20 20 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 o,..Node:.Fontification.of.speci
407e0 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 4e 65 78 74 3a 20 49 6e 66 6f 20 73 79 6d 62 6f 6c al.variables,..Next:.Info.symbol
40800 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 .lookup,..Prev:.Using.in.a.packa
40820 67 65 2c 20 20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 32 20 46 6f 6e 74 69 ge,..Up:.Installation..1.2.Fonti
40840 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 3d 3d fication.of.special.variables.==
40860 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 ================================
40880 3d 3d 3d 3d 0a 0a 54 68 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 ====..The.autoloaded.minor.mode.
408a0 e2 80 98 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 e2 80 99 20 69 73 20 70 72 6f 76 69 ...dash-fontify-mode....is.provi
408c0 64 65 64 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 0a 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f ded.for.optional.fontification.o
408e0 66 20 61 6e 61 70 68 6f 72 69 63 20 44 61 73 68 20 76 61 72 69 61 62 6c 65 73 20 28 e2 80 98 69 f.anaphoric.Dash.variables.(...i
40900 74 e2 80 99 2c 20 e2 80 98 61 63 63 e2 80 99 2c 20 65 74 63 2e 29 20 69 6e 20 45 6d 61 63 73 0a t...,....acc...,.etc.).in.Emacs.
40920 4c 69 73 70 20 62 75 66 66 65 72 73 20 75 73 69 6e 67 20 73 65 61 72 63 68 2d 62 61 73 65 64 20 Lisp.buffers.using.search-based.
40940 46 6f 6e 74 20 4c 6f 63 6b 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 46 6f 6e 74 20 4c 6f 63 Font.Lock.(*note.(emacs)Font.Loc
40960 6b 3a 3a 29 2e 0a 49 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 68 k::)..In.older.Emacs.versions.wh
40980 69 63 68 20 64 6f 20 6e 6f 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 64 65 74 65 63 74 20 6d 61 ich.do.not.dynamically.detect.ma
409a0 63 72 6f 73 2c 20 74 68 65 0a 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 73 6f 20 66 6f 6e 74 69 66 cros,.the.minor.mode.also.fontif
409c0 69 65 73 20 63 61 6c 6c 73 20 74 6f 20 44 61 73 68 20 6d 61 63 72 6f 73 2e 0a 0a 20 20 20 54 6f ies.calls.to.Dash.macros......To
409e0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 69 6e 6f 72 20 .automatically.enable.the.minor.
40a00 6d 6f 64 65 20 69 6e 20 61 6c 6c 20 45 6d 61 63 73 20 4c 69 73 70 20 62 75 66 66 65 72 73 2c 0a mode.in.all.Emacs.Lisp.buffers,.
40a20 6a 75 73 74 20 63 61 6c 6c 20 69 74 73 20 61 75 74 6f 6c 6f 61 64 65 64 20 67 6c 6f 62 61 6c 20 just.call.its.autoloaded.global.
40a40 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 counterpart....global-dash-fonti
40a60 66 79 2d 6d 6f 64 65 e2 80 99 2c 0a 65 69 74 68 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 fy-mode...,.either.interactively
40a80 20 6f 72 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 .or.from.your....user-init-file.
40aa0 80 99 3a 0a 0a 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d ..:.......(global-dash-fontify-m
40ac0 6f 64 65 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 ode)....File:.dash.info,..Node:.
40ae0 49 6e 66 6f 20 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2c 20 20 50 72 65 76 3a 20 46 6f 6e 74 69 Info.symbol.lookup,..Prev:.Fonti
40b00 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 20 fication.of.special.variables,..
40b20 55 70 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 31 2e 33 20 49 6e 66 6f 20 73 79 6d 62 6f Up:.Installation..1.3.Info.symbo
40b40 6c 20 6c 6f 6f 6b 75 70 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a l.lookup.======================.
40b60 0a 57 68 69 6c 65 20 65 64 69 74 69 6e 67 20 45 6c 69 73 70 20 66 69 6c 65 73 2c 20 79 6f 75 20 .While.editing.Elisp.files,.you.
40b80 63 61 6e 20 75 73 65 20 e2 80 98 43 2d 68 20 53 e2 80 99 20 28 e2 80 98 69 6e 66 6f 2d 6c 6f 6f can.use....C-h.S....(...info-loo
40ba0 6b 75 70 2d 73 79 6d 62 6f 6c e2 80 99 29 20 74 6f 0a 6c 6f 6f 6b 20 75 70 20 45 6c 69 73 70 20 kup-symbol...).to.look.up.Elisp.
40bc0 73 79 6d 62 6f 6c 73 20 69 6e 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 49 6e 66 6f 20 6d 61 6e symbols.in.the.relevant.Info.man
40be0 75 61 6c 73 20 28 2a 6e 6f 74 65 20 28 65 6d 61 63 73 29 49 6e 66 6f 0a 4c 6f 6f 6b 75 70 3a 3a uals.(*note.(emacs)Info.Lookup::
40c00 29 2e 20 20 54 6f 20 65 6e 61 62 6c 65 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 44 61 73 68 20 )...To.enable.the.same.for.Dash.
40c20 73 79 6d 62 6f 6c 73 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a e2 80 98 64 61 73 68 symbols,.use.the.command....dash
40c40 2d 72 65 67 69 73 74 65 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 e2 80 99 2e 20 20 49 74 20 63 61 -register-info-lookup......It.ca
40c60 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 64 n.be.called.directly.when.needed
40c80 2c 20 6f 72 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 79 6f 75 72 20 e2 80 98 ,.or.automatically.from.your....
40ca0 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 e2 80 99 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a user-init-file......For.example:
40cc0 0a 0a 20 20 20 20 20 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 69 6e .......(with-eval-after-load.'in
40ce0 66 6f 2d 6c 6f 6f 6b 0a 20 20 20 20 20 20 20 28 64 61 73 68 2d 72 65 67 69 73 74 65 72 2d 69 6e fo-look........(dash-register-in
40d00 66 6f 2d 6c 6f 6f 6b 75 70 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 fo-lookup))....File:.dash.info,.
40d20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 6c 6f 70 .Node:.Functions,..Next:.Develop
40d40 6d 65 6e 74 2c 20 20 50 72 65 76 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 20 55 70 3a 20 ment,..Prev:.Installation,..Up:.
40d60 54 6f 70 0a 0a 32 20 46 75 6e 63 74 69 6f 6e 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 Top..2.Functions.***********..Th
40d80 69 73 20 63 68 61 70 74 65 72 20 63 6f 6e 74 61 69 6e 73 20 72 65 66 65 72 65 6e 63 65 20 64 6f is.chapter.contains.reference.do
40da0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 44 61 73 68 20 41 50 49 0a 28 41 70 cumentation.for.the.Dash.API.(Ap
40dc0 70 6c 69 63 61 74 69 6f 6e 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 49 6e 74 65 72 66 61 63 65 29 plication.Programming.Interface)
40de0 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ...The.names.of.all.public.funct
40e00 69 6f 6e 73 0a 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 61 72 65 20 ions.defined.in.the.library.are.
40e20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 20 64 61 73 68 20 63 68 61 72 61 63 74 65 72 20 28 prefixed.with.a.dash.character.(
40e40 e2 80 98 2d e2 80 99 29 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 61 6c 73 6f 20 70 ...-...)......The.library.also.p
40e60 72 6f 76 69 64 65 73 20 61 6e 61 70 68 6f 72 69 63 20 6d 61 63 72 6f 20 76 65 72 73 69 6f 6e 73 rovides.anaphoric.macro.versions
40e80 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 65 72 65 0a 74 68 61 74 20 6d 61 6b 65 73 20 73 .of.functions.where.that.makes.s
40ea0 65 6e 73 65 2e 20 20 54 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 73 65 20 6d 61 63 72 6f 73 ense...The.names.of.these.macros
40ec0 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 77 6f 0a 64 61 73 68 65 73 20 28 e2 .are.prefixed.with.two.dashes.(.
40ee0 80 98 2d 2d e2 80 99 29 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 0a 0a 20 20 20 46 6f 72 ..--...).instead.of.one......For
40f00 20 69 6e 73 74 61 6e 63 65 2c 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 .instance,.while.the.function...
40f20 98 2d 6d 61 70 e2 80 99 20 61 70 70 6c 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 65 .-map....applies.a.function.to.e
40f40 61 63 68 0a 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 69 73 74 2c 20 69 74 73 20 61 6e 61 70 68 ach.element.of.a.list,.its.anaph
40f60 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 20 65 76 61 oric.counterpart....--map....eva
40f80 6c 75 61 74 65 73 20 61 20 66 6f 72 6d 0a 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 luates.a.form.with.the.local.var
40fa0 69 61 62 6c 65 20 e2 80 98 69 74 e2 80 99 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 62 6f 75 6e 64 iable....it....temporarily.bound
40fc0 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74 20 69 6e 73 .to.the.current.list.element.ins
40fe0 74 65 61 64 2e 0a 0a 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 2e 0a 20 tead........;;.Normal.version...
41000 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 2a 20 6e 20 6e 29 29 20 27 ....(-map.(lambda.(n).(*.n.n)).'
41020 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 (1.2.3.4))..............(1.4.9.1
41040 36 29 0a 0a 20 20 20 20 20 3b 3b 20 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 2e 0a 20 6).......;;.Anaphoric.version...
41060 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))
41080 0a 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 20 20 54 68 65 ..............(1.4.9.16).....The
410a0 20 6e 6f 72 6d 61 6c 20 76 65 72 73 69 6f 6e 20 63 61 6e 2c 20 6f 66 20 63 6f 75 72 73 65 2c 20 .normal.version.can,.of.course,.
410c0 61 6c 73 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 73 20 69 6e 20 74 68 65 0a 66 6f 6c 6c 6f 77 also.be.written.as.in.the.follow
410e0 69 6e 67 20 65 78 61 6d 70 6c 65 2c 20 77 68 69 63 68 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 ing.example,.which.demonstrates.
41100 74 68 65 20 75 74 69 6c 69 74 79 20 6f 66 20 62 6f 74 68 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 the.utility.of.both.versions....
41120 20 20 20 20 28 64 65 66 75 6e 20 6d 79 2d 73 71 75 61 72 65 20 28 6e 29 0a 20 20 20 20 20 20 20 ....(defun.my-square.(n)........
41140 22 52 65 74 75 72 6e 20 4e 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 69 74 73 65 6c 66 2e 22 "Return.N.multiplied.by.itself."
41160 0a 20 20 20 20 20 20 20 28 2a 20 6e 20 6e 29 29 0a 0a 20 20 20 20 20 28 2d 6d 61 70 20 23 27 6d ........(*.n.n)).......(-map.#'m
41180 79 2d 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 e2 87 y-square.'(1.2.3.4))............
411a0 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4d 61 70 73 3a 3a 0a ..(1.4.9.16)..*.Menu:..*.Maps::.
411c0 2a 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 3a 3a 0a 2a 20 4c 69 73 74 20 74 6f 20 *.Sublist.selection::.*.List.to.
411e0 6c 69 73 74 3a 3a 0a 2a 20 52 65 64 75 63 74 69 6f 6e 73 3a 3a 0a 2a 20 55 6e 66 6f 6c 64 69 6e list::.*.Reductions::.*.Unfoldin
41200 67 3a 3a 0a 2a 20 50 72 65 64 69 63 61 74 65 73 3a 3a 0a 2a 20 50 61 72 74 69 74 69 6f 6e 69 6e g::.*.Predicates::.*.Partitionin
41220 67 3a 3a 0a 2a 20 49 6e 64 65 78 69 6e 67 3a 3a 0a 2a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e g::.*.Indexing::.*.Set.operation
41240 73 3a 3a 0a 2a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 s::.*.Other.list.operations::.*.
41260 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 Tree.operations::.*.Threading.ma
41280 63 72 6f 73 3a 3a 0a 2a 20 42 69 6e 64 69 6e 67 3a 3a 0a 2a 20 53 69 64 65 20 65 66 66 65 63 74 cros::.*.Binding::.*.Side.effect
412a0 73 3a 3a 0a 2a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a 3a 0a 2a s::.*.Destructive.operations::.*
412c0 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a .Function.combinators::....File:
412e0 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4d 61 70 73 2c 20 20 4e 65 78 74 3a 20 .dash.info,..Node:.Maps,..Next:.
41300 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e Sublist.selection,..Up:.Function
41320 73 0a 0a 32 2e 31 20 4d 61 70 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 s..2.1.Maps.========..Functions.
41340 69 6e 20 74 68 69 73 20 63 61 74 65 67 6f 72 79 20 74 61 6b 65 20 61 20 74 72 61 6e 73 66 6f 72 in.this.category.take.a.transfor
41360 6d 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 0a 61 70 70 ming.function,.which.is.then.app
41380 6c 69 65 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 20 74 6f 20 65 61 63 68 20 6f 72 20 73 65 6c lied.sequentially.to.each.or.sel
413a0 65 63 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 6c 69 73 74 ected.elements.of.the.input.list
413c0 2e 0a 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 63 6f 6c 6c 65 63 74 65 64 20 69 6e 20 6f ..The.results.are.collected.in.o
413e0 72 64 65 72 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6e 65 77 20 6c 69 73 74 2e rder.and.returned.as.a.new.list.
41400 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 ...--.Function:.-map.(fn.list)..
41420 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 69 74 65 6d 20 69 6e 20 4c 49 53 ....Apply.FN.to.each.item.in.LIS
41440 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 T.and.return.the.list.of.results
41460 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f ........This.function...s.anapho
41480 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 6d 61 70 e2 80 99 2e 0a ric.counterpart.is....--map.....
414a0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 ...........(-map.(lambda.(num).(
414c0 2a 20 6e 75 6d 20 6e 75 6d 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 *.num.num)).'(1.2.3.4)).........
414e0 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 ..........(1.4.9.16)...........(
41500 2d 6d 61 70 20 23 27 31 2b 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 -map.#'1+.'(1.2.3.4))...........
41520 20 20 20 20 e2 87 92 20 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d ........(2.3.4.5)...........(--m
41540 61 70 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 ap.(*.it.it).'(1.2.3.4))........
41560 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 20 31 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ...........(1.4.9.16)...--.Funct
41580 69 6f 6e 3a 20 2d 6d 61 70 2d 77 68 65 6e 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 ion:.-map-when.(pred.rep.list)..
415a0 20 20 20 20 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 ....Return.a.new.list.where.the.
415c0 65 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 elements.in.LIST.that.do.not.mat
415e0 63 68 20 74 68 65 0a 20 20 20 20 20 50 52 45 44 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 75 6e ch.the......PRED.function.are.un
41600 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 20 changed,.and.where.the.elements.
41620 69 6e 20 4c 49 53 54 20 74 68 61 74 20 64 6f 0a 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 50 in.LIST.that.do......match.the.P
41640 52 45 44 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 6d 61 70 70 65 64 20 74 68 72 6f 75 67 68 20 RED.function.are.mapped.through.
41660 74 68 65 20 52 45 50 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 the.REP.function........Alias:..
41680 80 98 2d 72 65 70 6c 61 63 65 2d 77 68 65 72 65 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 61 6c ..-replace-where..........See.al
416a0 73 6f 3a 20 e2 80 98 2d 75 70 64 61 74 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 75 70 64 so:....-update-at....(*note.-upd
416c0 61 74 65 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 77 68 65 6e 20 ate-at::)............(-map-when.
416e0 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 'even?.'square.'(1.2.3.4))......
41700 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 .............(1.4.3.16).........
41720 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 28 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 ..(--map-when.(>.it.2).(*.it.it)
41740 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .'(1.2.3.4))...................(
41760 31 20 32 20 39 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 77 68 65 6e 20 1.2.9.16)...........(--map-when.
41780 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 20 20 20 20 (=.it.2).17.'(1.2.3.4)).........
417a0 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 37 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ..........(1.17.3.4)...--.Functi
417c0 6f 6e 3a 20 2d 6d 61 70 2d 66 69 72 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 on:.-map-first.(pred.rep.list)..
417e0 20 20 20 20 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 20 73 ....Replace.first.item.in.LIST.s
41800 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 45 atisfying.PRED.with.result.of.RE
41820 50 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 20 20 20 P......called.on.this.item......
41840 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 6f ..See.also:....-map-when....(*no
41860 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 66 69 72 te.-map-when::),....-replace-fir
41880 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 66 69 72 73 74 st....(*note......-replace-first
418a0 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 66 69 72 73 74 20 27 65 76 65 6e ::)............(-map-first.'even
418c0 3f 20 27 73 71 75 61 72 65 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 ?.'square.'(1.2.3.4))...........
418e0 20 20 20 20 e2 87 92 20 28 31 20 34 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d ........(1.4.3.4)...........(--m
41900 61 70 2d 66 69 72 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 ap-first.(>.it.2).(*.it.it).'(1.
41920 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 39 2.3.4))...................(1.2.9
41940 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 66 69 72 73 74 20 28 3d 20 69 74 .4)...........(--map-first.(=.it
41960 20 32 29 20 31 37 20 27 28 31 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .2).17.'(1.2.3.2))..............
41980 20 e2 87 92 20 28 31 20 31 37 20 33 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d .....(1.17.3.2)...--.Function:.-
419a0 6d 61 70 2d 6c 61 73 74 20 28 70 72 65 64 20 72 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 map-last.(pred.rep.list)......Re
419c0 70 6c 61 63 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 73 61 74 69 73 66 79 69 place.last.item.in.LIST.satisfyi
419e0 6e 67 20 50 52 45 44 20 77 69 74 68 20 72 65 73 75 6c 74 20 6f 66 20 52 45 50 20 63 61 6c 6c 65 ng.PRED.with.result.of.REP.calle
41a00 64 0a 20 20 20 20 20 6f 6e 20 74 68 69 73 20 69 74 65 6d 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 d......on.this.item........See.a
41a20 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 77 68 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 lso:....-map-when....(*note.-map
41a40 2d 77 68 65 6e 3a 3a 29 2c 20 e2 80 98 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 e2 80 99 20 28 2a -when::),....-replace-last....(*
41a60 6e 6f 74 65 0a 20 20 20 20 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 note......-replace-last::)......
41a80 20 20 20 20 20 20 28 2d 6d 61 70 2d 6c 61 73 74 20 27 65 76 65 6e 3f 20 27 73 71 75 61 72 65 20 ......(-map-last.'even?.'square.
41aa0 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 '(1.2.3.4))...................(1
41ac0 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 6c 61 73 74 20 28 .2.3.16)...........(--map-last.(
41ae0 3e 20 69 74 20 32 29 20 28 2a 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 >.it.2).(*.it.it).'(1.2.3.4))...
41b00 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 36 29 0a 20 20 20 20 20 ................(1.2.3.16)......
41b20 20 20 20 20 20 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 .....(--map-last.(=.it.2).17.'(1
41b40 20 32 20 33 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 .2.3.2))...................(1.2.
41b60 33 20 31 37 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 3.17)...--.Function:.-map-indexe
41b80 64 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 d.(fn.list)......Apply.FN.to.eac
41ba0 68 20 69 6e 64 65 78 20 61 6e 64 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 20 61 6e 64 20 72 65 74 h.index.and.item.in.LIST.and.ret
41bc0 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 urn.the.list.of......results...T
41be0 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 2d 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d his.is.like....-map....(*note.-m
41c00 61 70 3a 3a 29 2c 20 62 75 74 20 46 4e 20 74 61 6b 65 73 20 74 77 6f 0a 20 20 20 20 20 61 72 67 ap::),.but.FN.takes.two......arg
41c20 75 6d 65 6e 74 73 3a 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 uments:.the.index.of.the.current
41c40 20 65 6c 65 6d 65 6e 74 20 77 69 74 68 69 6e 20 4c 49 53 54 2c 20 61 6e 64 20 74 68 65 0a 20 20 .element.within.LIST,.and.the...
41c60 20 20 20 65 6c 65 6d 65 6e 74 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 ...element.itself........This.fu
41c80 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
41ca0 20 69 73 20 e2 80 98 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 2e 0a 0a 20 20 20 20 20 46 .is....--map-indexed...........F
41cc0 6f 72 20 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 or.a.side-effecting.variant,.see
41ce0 20 61 6c 73 6f 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 .also....-each-indexed....(*note
41d00 0a 20 20 20 20 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ......-each-indexed::)..........
41d20 20 20 20 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 ...(-map-indexed.(lambda.(index.
41d40 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 33 20 34 29 item).(-.item.index)).'(1.2.3.4)
41d60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 )...................(1.1.1.1)...
41d80 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 2d 69 6e 64 65 78 65 64 20 28 2d 20 69 74 20 69 74 2d ........(--map-indexed.(-.it.it-
41da0 69 6e 64 65 78 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 index).'(1.2.3.4))..............
41dc0 20 e2 87 92 20 28 31 20 31 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 2d 69 .....(1.1.1.1)...........(-map-i
41de0 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 20 20 20 20 20 20 20 ndexed.#'*.'(1.2.3.4))..........
41e00 20 20 20 20 20 e2 87 92 20 28 30 20 32 20 36 20 31 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f .........(0.2.6.12)...--.Functio
41e20 6e 3a 20 2d 61 6e 6e 6f 74 61 74 65 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 n:.-annotate.(fn.list)......Retu
41e40 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 72 65 20 65 61 rn.a.list.of.cons.cells.where.ea
41e60 63 68 20 63 65 6c 6c 20 69 73 20 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 65 61 63 68 0a 20 20 ch.cell.is.FN.applied.to.each...
41e80 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 70 61 69 72 65 64 20 77 69 74 68 20 74 ...element.of.LIST.paired.with.t
41ea0 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 4c 49 53 54 2e 0a 0a he.unmodified.element.of.LIST...
41ec0 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 61 74 65 20 27 31 2b 20 27 28 31 20 32 20 33 ..........(-annotate.'1+.'(1.2.3
41ee0 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 2e 20 31 29 20 28 33 ))...................((2...1).(3
41f00 20 2e 20 32 29 20 28 34 20 2e 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 6e 6e 6f 74 ...2).(4...3))...........(-annot
41f20 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 6c 22 20 22 ate.'length.'(("h"."e"."l"."l"."
41f40 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 20 20 20 20 o").("hello"."world"))).........
41f60 20 20 20 20 20 20 e2 87 92 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
41f80 22 29 20 28 32 20 22 68 65 6c 6c 6f 22 20 22 77 6f 72 6c 64 22 29 29 0a 20 20 20 20 20 20 20 20 ").(2."hello"."world")).........
41fa0 20 20 28 2d 2d 61 6e 6e 6f 74 61 74 65 20 28 3c 20 31 20 69 74 29 20 27 28 30 20 31 20 32 20 33 ..(--annotate.(<.1.it).'(0.1.2.3
41fc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 20 2e 20 30 29 20 ))...................((nil...0).
41fe0 28 6e 69 6c 20 2e 20 31 29 20 28 74 20 2e 20 32 29 20 28 74 20 2e 20 33 29 29 0a 0a 20 2d 2d 20 (nil...1).(t...2).(t...3))...--.
42000 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 70 6c 69 63 65 20 28 70 72 65 64 20 66 75 6e 20 6c 69 73 74 Function:.-splice.(pred.fun.list
42020 29 0a 20 20 20 20 20 53 70 6c 69 63 65 20 6c 69 73 74 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 )......Splice.lists.generated.by
42040 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 6d 61 74 63 68 69 .FUN.in.place.of.elements.matchi
42060 6e 67 20 50 52 45 44 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 55 4e 20 ng.PRED.in......LIST........FUN.
42080 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 50 52 45 44 20 takes.the.element.matching.PRED.
420a0 61 73 20 69 6e 70 75 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 as.input........This.function.ca
420c0 6e 20 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 e2 80 98 n.be.used.as.replacement.for....
420e0 2c 40 e2 80 99 20 69 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 74 6f 20 73 ,@....in.case.you.need......to.s
42100 70 6c 69 63 65 20 73 65 76 65 72 61 6c 20 6c 69 73 74 73 20 61 74 20 6d 61 72 6b 65 64 20 70 6f plice.several.lists.at.marked.po
42120 73 69 74 69 6f 6e 73 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 69 74 68 0a 20 20 20 20 20 6b sitions.(for.example.with......k
42140 65 79 77 6f 72 64 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 70 eywords)........See.also:....-sp
42160 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 lice-list....(*note.-splice-list
42180 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 ::),....-insert-at.........(*not
421a0 65 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c e.-insert-at::)............(-spl
421c0 69 63 65 20 27 65 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6c 69 73 74 20 78 20 78 ice.'even?.(lambda.(x).(list.x.x
421e0 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).'(1.2.3.4))..................
42200 20 28 31 20 32 20 32 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 .(1.2.2.3.4.4)...........(--spli
42220 63 65 20 27 74 20 28 6c 69 73 74 20 69 74 20 69 74 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 ce.'t.(list.it.it).'(1.2.3.4))..
42240 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 20 33 20 34 20 .................(1.1.2.2.3.3.4.
42260 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 63 65 20 28 65 71 75 61 6c 20 69 74 4)...........(--splice.(equal.it
42280 20 3a 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 .:magic).'((list.of).(magical).(
422a0 63 6f 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 code)).'((foo).(bar).:magic.(baz
422c0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 66 6f 6f 29 20 28 62 61 )))...................((foo).(ba
422e0 72 29 20 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 20 28 62 r).(list.of).(magical).(code).(b
42300 61 7a 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 2d 6c 69 73 74 az))...--.Function:.-splice-list
42320 20 28 70 72 65 64 20 6e 65 77 2d 6c 69 73 74 20 6c 69 73 74 29 0a 20 20 20 20 20 53 70 6c 69 63 .(pred.new-list.list)......Splic
42340 65 20 4e 45 57 2d 4c 49 53 54 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 e.NEW-LIST.in.place.of.elements.
42360 6d 61 74 63 68 69 6e 67 20 50 52 45 44 20 69 6e 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 matching.PRED.in.LIST........See
42380 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 65 20 2d 73 70 6c .also:....-splice....(*note.-spl
423a0 69 63 65 3a 3a 29 2c 20 e2 80 98 2d 69 6e 73 65 72 74 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 0a ice::),....-insert-at....(*note.
423c0 20 20 20 20 20 2d 69 6e 73 65 72 74 2d 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d .....-insert-at::)............(-
423e0 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 62 20 63 29 20 27 splice-list.'keywordp.'(a.b.c).'
42400 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 (1.:foo.2))...................(1
42420 20 61 20 62 20 63 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 63 65 2d 6c 69 73 .a.b.c.2)...........(-splice-lis
42440 74 20 27 6b 65 79 77 6f 72 64 70 20 6e 69 6c 20 27 28 31 20 3a 66 6f 6f 20 32 29 29 0a 20 20 20 t.'keywordp.nil.'(1.:foo.2))....
42460 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 20 20 20 20 20 28 ...............(1.2)...........(
42480 2d 2d 73 70 6c 69 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 --splice-list.(keywordp.it).'(a.
424a0 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 20 20 b.c).'(1.:foo.2))...............
424c0 e2 87 92 20 28 31 20 61 20 62 20 63 20 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d ....(1.a.b.c.2)...--.Function:.-
424e0 6d 61 70 63 61 74 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 mapcat.(fn.list)......Return.the
42500 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 75 6c 74 20 6f 66 20 .concatenation.of.the.result.of.
42520 6d 61 70 70 69 6e 67 20 46 4e 20 6f 76 65 72 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 75 73 20 mapping.FN.over.LIST.......Thus.
42540 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 function.FN.should.return.a.list
42560 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 27 6c 69 73 74 20 27 28 31 20 .............(-mapcat.'list.'(1.
42580 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 33 29 0a 2.3))...................(1.2.3).
425a0 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d ..........(-mapcat.(lambda.(item
425c0 29 20 28 6c 69 73 74 20 30 20 69 74 65 6d 29 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 ).(list.0.item)).'(1.2.3))......
425e0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 20 32 20 30 20 33 29 0a 20 20 20 20 20 .............(0.1.0.2.0.3)......
42600 20 20 20 20 20 28 2d 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 .....(--mapcat.(list.0.it).'(1.2
42620 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 30 20 32 20 .3))...................(0.1.0.2.
42640 30 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 70 79 20 28 6c 69 73 74 29 0.3)...--.Function:.-copy.(list)
42660 0a 20 20 20 20 20 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 4c ......Create.a.shallow.copy.of.L
42680 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 70 79 20 27 28 31 20 32 20 33 29 29 IST.............(-copy.'(1.2.3))
426a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 ...................(1.2.3)......
426c0 20 20 20 20 20 28 6c 65 74 20 28 28 61 20 27 28 31 20 32 20 33 29 29 29 20 28 65 71 20 61 20 28 .....(let.((a.'(1.2.3))).(eq.a.(
426e0 2d 63 6f 70 79 20 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c -copy.a)))...................nil
42700 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 75 62 6c ....File:.dash.info,..Node:.Subl
42720 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a 20 4c 69 73 74 20 74 6f 20 6c 69 ist.selection,..Next:.List.to.li
42740 73 74 2c 20 20 50 72 65 76 3a 20 4d 61 70 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a st,..Prev:.Maps,..Up:.Functions.
42760 0a 32 2e 32 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d .2.2.Sublist.selection.=========
42780 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 75 72 6e 69 6e ============..Functions.returnin
427a0 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 6c 20 6c 69 73 74 g.a.sublist.of.the.original.list
427c0 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 6c 74 65 72 20 28 70 72 65 64 20 6c ....--.Function:.-filter.(pred.l
427e0 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 6f 66 20 74 ist)......Return.a.new.list.of.t
42800 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 45 44 20 he.items.in.LIST.for.which.PRED.
42820 72 65 74 75 72 6e 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 returns......non-nil........Alia
42840 73 3a 20 e2 80 98 2d 73 65 6c 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e s:....-select...........This.fun
42860 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 20 ction...s.anaphoric.counterpart.
42880 69 73 20 e2 80 98 2d 2d 66 69 6c 74 65 72 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d is....--filter...........For.sim
428a0 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 e2 80 98 2d 6b 65 ilar.operations,.see.also....-ke
428c0 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 0a 20 20 20 20 20 e2 ep....(*note.-keep::).and.......
428e0 80 98 2d 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 2e 0a ..-remove....(*note.-remove::)..
42900 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d ...........(-filter.(lambda.(num
42920 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 33 20 34 29 29 0a 20 ).(=.0.(%.num.2))).'(1.2.3.4))..
42940 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 .................(2.4)..........
42960 20 28 2d 66 69 6c 74 65 72 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 .(-filter.#'natnump.'(-2.-1.0.1.
42980 32 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 29 0a 20 20 2))...................(0.1.2)...
429a0 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6c 74 65 72 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 ........(--filter.(=.0.(%.it.2))
429c0 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 .'(1.2.3.4))...................(
429e0 32 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 20 28 70 72 65 2.4)...--.Function:.-remove.(pre
42a00 64 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 6f d.list)......Return.a.new.list.o
42a20 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
42a40 45 44 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 ED.returns.nil........Alias:....
42a60 2d 72 65 6a 65 63 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 -reject...........This.function.
42a80 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....
42aa0 2d 2d 72 65 6d 6f 76 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 73 69 6d 69 6c 61 72 20 6f --remove...........For.similar.o
42ac0 70 65 72 61 74 69 6f 6e 73 2c 20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6b 65 65 70 e2 80 99 20 perations,.see.also....-keep....
42ae0 28 2a 6e 6f 74 65 20 2d 6b 65 65 70 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 66 69 6c (*note.-keep::).and.........-fil
42b00 74 65 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2e 0a 0a 20 20 20 20 20 ter....(*note.-filter::)........
42b20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 .....(-remove.(lambda.(num).(=.0
42b40 20 28 25 20 6e 75 6d 20 32 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 .(%.num.2))).'(1.2.3.4))........
42b60 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d ...........(1.3)...........(-rem
42b80 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 20 20 ove.#'natnump.'(-2.-1.0.1.2))...
42ba0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 29 0a 20 20 20 20 20 20 20 20 ................(-2.-1).........
42bc0 20 20 28 2d 2d 72 65 6d 6f 76 65 20 28 3d 20 30 20 28 25 20 69 74 20 32 29 29 20 27 28 31 20 32 ..(--remove.(=.0.(%.it.2)).'(1.2
42be0 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 33 29 0a 0a .3.4))...................(1.3)..
42c00 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 70 72 65 .--.Function:.-remove-first.(pre
42c20 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 66 69 72 73 74 20 69 74 d.list)......Remove.the.first.it
42c40 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 em.from.LIST.for.which.PRED.retu
42c60 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d rns.non-nil.......This.is.a.non-
42c80 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.
42ca0 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 6c 65 61 64 69 6e 67 20 75 the.front.of.LIST......leading.u
42cc0 70 20 74 6f 20 74 68 65 20 72 65 6d 6f 76 65 64 20 69 74 65 6d 20 69 73 20 61 20 63 6f 70 79 3b p.to.the.removed.item.is.a.copy;
42ce0 20 74 68 65 20 72 65 73 74 20 69 73 20 4c 49 53 54 e2 80 99 73 0a 20 20 20 20 20 6f 72 69 67 69 .the.rest.is.LIST...s......origi
42d00 6e 61 6c 20 74 61 69 6c 2e 20 20 49 66 20 6e 6f 20 69 74 65 6d 20 69 73 20 72 65 6d 6f 76 65 64 nal.tail...If.no.item.is.removed
42d20 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 0a 20 20 20 20 20 63 6f 6d 70 ,.then.the.result.is.a......comp
42d40 6c 65 74 65 20 63 6f 70 79 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 lete.copy........Alias:....-reje
42d60 63 74 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ct-first...........This.function
42d80 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...
42da0 98 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .--remove-first...........See.al
42dc0 73 6f 20 e2 80 98 2d 6d 61 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d so....-map-first....(*note.-map-
42de0 66 69 72 73 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e first::),....-remove-item....(*n
42e00 6f 74 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 ote......-remove-item::),.and...
42e20 98 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d .-remove-last....(*note.-remove-
42e40 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 last::).............(-remove-fir
42e60 73 74 20 23 27 6e 61 74 6e 75 6d 70 20 27 28 2d 32 20 2d 31 20 30 20 31 20 32 29 29 0a 20 20 20 st.#'natnump.'(-2.-1.0.1.2))....
42e80 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 2d 32 20 2d 31 20 31 20 32 29 0a 20 20 20 20 20 ...............(-2.-1.1.2)......
42ea0 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 23 27 73 74 72 69 6e 67 70 20 27 28 .....(-remove-first.#'stringp.'(
42ec0 31 20 32 20 22 66 69 72 73 74 22 20 22 73 65 63 6f 6e 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 1.2."first"."second"))..........
42ee0 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 73 65 63 6f 6e 64 22 29 0a 20 20 20 20 20 20 20 20 .........(1.2."second").........
42f00 20 20 28 2d 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 20 28 3e 20 69 74 20 33 29 20 27 28 31 20 32 ..(--remove-first.(>.it.3).'(1.2
42f20 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .3.4.5.6))...................(1.
42f40 32 20 33 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 2.3.5.6)...--.Function:.-remove-
42f60 6c 61 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 last.(pred.list)......Remove.the
42f80 20 6c 61 73 74 20 69 74 65 6d 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 .last.item.from.LIST.for.which.P
42fa0 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 54 68 65 0a 20 20 20 20 20 72 RED.returns.non-nil...The......r
42fc0 65 73 75 6c 74 20 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 esult.is.a.copy.of.LIST.regardle
42fe0 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 20 20 20 20 ss.of.whether.an.element.is.....
43000 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 72 65 6a 65 63 .removed........Alias:....-rejec
43020 74 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 t-last...........This.function..
43040 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 2d .s.anaphoric.counterpart.is....-
43060 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 -remove-last...........See.also.
43080 e2 80 98 2d 6d 61 70 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 ...-map-last....(*note.-map-last
430a0 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 ::),....-remove-item....(*note..
430c0 20 20 20 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 3a 3a 29 2c 20 61 6e 64 20 e2 80 98 2d 72 65 6d ....-remove-item::),.and....-rem
430e0 6f 76 65 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 ove-first....(*note.-remove-firs
43100 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 t::).............(-remove-last.#
43120 27 6e 61 74 6e 75 6d 70 20 27 28 31 20 33 20 35 20 34 20 37 20 38 20 31 30 20 2d 31 31 29 29 0a 'natnump.'(1.3.5.4.7.8.10.-11)).
43140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 33 20 35 20 34 20 37 20 38 20 2d ..................(1.3.5.4.7.8.-
43160 31 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 20 23 27 73 74 11)...........(-remove-last.#'st
43180 72 69 6e 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 0a 20 20 ringp.'(1.2."last"."second"))...
431a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 22 6c 61 73 74 22 29 0a 20 20 20 ................(1.2."last")....
431c0 20 20 20 20 20 20 20 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 .......(--remove-last.(>.it.3).'
431e0 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 (1.2.3.4.5.6.7.8.9.10)).........
43200 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 0a 20 ..........(1.2.3.4.5.6.7.8.9)...
43220 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 28 69 74 65 6d 20 --.Function:.-remove-item.(item.
43240 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 list)......Return.a.copy.of.LIST
43260 20 77 69 74 68 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 49 54 45 4d 20 72 65 .with.all.occurrences.of.ITEM.re
43280 6d 6f 76 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 20 69 73 20 64 moved...The......comparison.is.d
432a0 6f 6e 65 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 one.with....equal...............
432c0 20 28 2d 72 65 6d 6f 76 65 2d 69 74 65 6d 20 33 20 27 28 31 20 32 20 33 20 32 20 33 20 34 20 35 .(-remove-item.3.'(1.2.3.2.3.4.5
432e0 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 32 20 34 20 .3))...................(1.2.2.4.
43300 35 29 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 27 66 6f 6f 20 5)...........(-remove-item.'foo.
43320 27 28 66 6f 6f 20 62 61 72 20 62 61 7a 20 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 '(foo.bar.baz.foo)).............
43340 20 20 e2 87 92 20 28 62 61 72 20 62 61 7a 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f ......(bar.baz)...........(-remo
43360 76 65 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 ve-item."bob".'("alice"."bob"."e
43380 76 65 22 20 22 62 6f 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 ve"."bob"))...................("
433a0 61 6c 69 63 65 22 20 22 65 76 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f alice"."eve")...--.Function:.-no
433c0 6e 2d 6e 69 6c 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 n-nil.(list)......Return.a.copy.
433e0 6f 66 20 4c 49 53 54 20 77 69 74 68 20 61 6c 6c 20 6e 69 6c 20 69 74 65 6d 73 20 72 65 6d 6f 76 of.LIST.with.all.nil.items.remov
43400 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 6e 69 6c 20 31 ed.............(-non-nil.'(nil.1
43420 20 6e 69 6c 20 32 20 6e 69 6c 20 6e 69 6c 20 33 20 34 20 6e 69 6c 20 35 20 6e 69 6c 29 29 0a 20 .nil.2.nil.nil.3.4.nil.5.nil))..
43440 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 .................(1.2.3.4.5)....
43460 20 20 20 20 20 20 20 28 2d 6e 6f 6e 2d 6e 69 6c 20 27 28 28 6e 69 6c 29 29 29 0a 20 20 20 20 20 .......(-non-nil.'((nil)))......
43480 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .............((nil))...........(
434a0 2d 6e 6f 6e 2d 6e 69 6c 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 -non-nil.())...................(
434c0 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 6c 69 63 65 20 28 6c 69 73 74 20 66 72 )...--.Function:.-slice.(list.fr
434e0 6f 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 20 73 74 65 70 29 0a 20 20 20 20 20 52 65 74 75 72 om.&optional.to.step)......Retur
43500 6e 20 63 6f 70 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 n.copy.of.LIST,.starting.from.in
43520 64 65 78 20 46 52 4f 4d 20 74 6f 20 69 6e 64 65 78 20 54 4f 2e 0a 0a 20 20 20 20 20 46 52 4f 4d dex.FROM.to.index.TO........FROM
43540 20 6f 72 20 54 4f 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 2e 20 20 54 68 65 73 65 20 76 .or.TO.may.be.negative...These.v
43560 61 6c 75 65 73 20 61 72 65 20 74 68 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 0a 20 20 20 20 20 alues.are.then.interpreted......
43580 6d 6f 64 75 6c 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a modulo.the.length.of.the.list...
435a0 20 20 20 20 20 49 66 20 53 54 45 50 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 6f 6e 6c 79 20 65 .....If.STEP.is.a.number,.only.e
435c0 61 63 68 20 53 54 45 50 74 68 20 69 74 65 6d 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 ach.STEPth.item.in.the.resulting
435e0 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 44 65 66 61 .section......is.returned...Defa
43600 75 6c 74 73 20 74 6f 20 31 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 ults.to.1.............(-slice.'(
43620 31 20 32 20 33 20 34 20 35 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.4.5).1)...................
43640 28 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 (2.3.4.5)...........(-slice.'(1.
43660 32 20 33 20 34 20 35 29 20 30 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2.3.4.5).0.3)...................
43680 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6c 69 63 65 20 27 28 31 20 32 20 (1.2.3)...........(-slice.'(1.2.
436a0 33 20 34 20 35 20 36 20 37 20 38 20 39 29 20 31 20 2d 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 3.4.5.6.7.8.9).1.-1.2)..........
436c0 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 36 20 38 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .........(2.4.6.8)...--.Function
436e0 3a 20 2d 74 61 6b 65 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 63 :.-take.(n.list)......Return.a.c
43700 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 6e 20 4c 49 53 54 opy.of.the.first.N.items.in.LIST
43720 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 0a 20 20 20 20 20 69 66 ...Return.a.copy.of.LIST......if
43740 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 20 20 .it.contains.N.items.or.fewer...
43760 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e Return.nil.if.N.is.zero.or.less.
43780 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 6b 65 2d 6c 61 73 74 e2 80 .......See.also:....-take-last..
437a0 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ..(*note.-take-last::)..........
437c0 20 20 20 28 2d 74 61 6b 65 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 ...(-take.3.'(1.2.3.4.5)).......
437e0 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 2d ............(1.2.3)...........(-
43800 74 61 6b 65 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 take.17.'(1.2.3.4.5))...........
43820 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)...........(-
43840 74 61 6b 65 20 30 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 take.0.'(1.2.3.4.5))............
43860 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 74 61 6b 65 2d 6c .......()...--.Function:.-take-l
43880 61 73 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 63 6f 70 79 20 ast.(n.list)......Return.a.copy.
438a0 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 69 74 65 6d 73 20 6f 66 20 4c 49 53 54 20 69 6e 20 6f of.the.last.N.items.of.LIST.in.o
438c0 72 64 65 72 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 0a 20 20 20 20 20 6f 66 20 4c 49 53 rder...Return.a.copy......of.LIS
438e0 54 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 20 6f 72 20 66 65 77 65 T.if.it.contains.N.items.or.fewe
43900 72 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 0a 20 20 20 20 r...Return.nil.if.N.is.zero.....
43920 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 74 61 .or.less........See.also:....-ta
43940 6b 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 6b 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 ke....(*note.-take::)...........
43960 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ..(-take-last.3.'(1.2.3.4.5))...
43980 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 ................(3.4.5).........
439a0 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 ..(-take-last.17.'(1.2.3.4.5))..
439c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 .................(1.2.3.4.5)....
439e0 20 20 20 20 20 20 20 28 2d 74 61 6b 65 2d 6c 61 73 74 20 31 20 27 28 31 20 32 20 33 20 34 20 35 .......(-take-last.1.'(1.2.3.4.5
43a00 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 20 2d 2d 20 46 75 ))...................(5)...--.Fu
43a20 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 nction:.-drop.(n.list)......Retu
43a40 72 6e 20 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 20 6f 66 20 4c 49 53 54 rn.the.tail.(not.a.copy).of.LIST
43a60 20 77 69 74 68 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 69 74 65 6d 73 2e 0a 20 20 20 20 .without.the.first.N.items......
43a80 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 .Return.nil.if.LIST.contains.N.i
43aa0 74 65 6d 73 20 6f 72 20 66 65 77 65 72 2e 20 20 52 65 74 75 72 6e 20 4c 49 53 54 20 69 66 20 4e tems.or.fewer...Return.LIST.if.N
43ac0 20 69 73 0a 20 20 20 20 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 0a 0a 20 20 20 20 20 46 6f 72 .is......zero.or.less........For
43ae0 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 e2 80 98 2d 64 .another.variant,.see.also....-d
43b00 72 6f 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 64 72 6f 70 2d 6c 61 73 74 3a 3a 29 rop-last....(*note.-drop-last::)
43b20 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 20 33 20 27 28 31 20 32 20 33 20 34 20 .............(-drop.3.'(1.2.3.4.
43b40 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 20 20 20 20 5))...................(4.5).....
43b60 20 20 20 20 20 20 28 2d 64 72 6f 70 20 31 37 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ......(-drop.17.'(1.2.3.4.5))...
43b80 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 64 ................()...........(-d
43ba0 72 6f 70 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rop.0.'(1.2.3.4.5)).............
43bc0 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ......(1.2.3.4.5)...--.Function:
43be0 20 2d 64 72 6f 70 2d 6c 61 73 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e .-drop-last.(n.list)......Return
43c00 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 20 6c 61 73 74 .a.copy.of.LIST.without.its.last
43c20 20 4e 20 69 74 65 6d 73 2e 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 0a 20 20 20 20 .N.items...Return.a.copy.of.....
43c40 20 4c 49 53 54 20 69 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6c 65 73 73 2e 20 20 52 65 74 .LIST.if.N.is.zero.or.less...Ret
43c60 75 72 6e 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 4e 20 69 74 65 6d 73 urn.nil.if.LIST.contains.N.items
43c80 20 6f 72 0a 20 20 20 20 20 66 65 77 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 .or......fewer........See.also:.
43ca0 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 2e 0a 0a 20 20 ...-drop....(*note.-drop::).....
43cc0 20 20 20 20 20 20 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 33 20 27 28 31 20 32 20 33 20 34 20 ........(-drop-last.3.'(1.2.3.4.
43ce0 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 29 0a 20 20 20 20 5))...................(1.2).....
43d00 20 20 20 20 20 20 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 ......(-drop-last.17.'(1.2.3.4.5
43d20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 ))...................().........
43d40 20 20 28 2d 64 72 6f 70 2d 6c 61 73 74 20 30 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 ..(-drop-last.0.'(1.2.3.4.5))...
43d60 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)...--
43d80 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 20 28 70 72 65 64 20 6c 69 73 .Function:.-take-while.(pred.lis
43da0 74 29 0a 20 20 20 20 20 54 61 6b 65 20 73 75 63 63 65 73 73 69 76 65 20 69 74 65 6d 73 20 66 72 t)......Take.successive.items.fr
43dc0 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 20 6e om.LIST.for.which.PRED.returns.n
43de0 6f 6e 2d 6e 69 6c 2e 0a 20 20 20 20 20 50 52 45 44 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 on-nil.......PRED.is.a.function.
43e00 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c of.one.argument...Return.a.new.l
43e20 69 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 65 6d 65 ist.of.the......successive.eleme
43e40 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 4c 49 53 54 20 66 6f 72 20 77 nts.from.the.start.of.LIST.for.w
43e60 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 6c 2e 0a hich.PRED.returns......non-nil..
43e80 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
43ea0 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 74 61 6b 65 2d 77 68 69 6c 65 c.counterpart.is....--take-while
43ec0 e2 80 99 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 ...........For.another.variant,.
43ee0 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 64 72 6f 70 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 see.also....-drop-while....(*not
43f00 65 20 2d 64 72 6f 70 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 e.-drop-while::).............(-t
43f20 61 6b 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 0a 20 20 ake-while.#'even?.'(1.2.3.4))...
43f40 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 74 ................()...........(-t
43f60 61 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 ake-while.#'even?.'(2.4.5.6))...
43f80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 ................(2.4)...........
43fa0 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 33 20 34 (--take-while.(<.it.4).'(1.2.3.4
43fc0 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 31 20 32 20 .3.2.1))...................(1.2.
43fe0 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 72 6f 70 2d 77 68 69 6c 65 20 28 70 3)...--.Function:.-drop-while.(p
44000 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 44 72 6f 70 20 73 75 63 63 65 73 73 69 76 65 20 69 red.list)......Drop.successive.i
44020 74 65 6d 73 20 66 72 6f 6d 20 4c 49 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 tems.from.LIST.for.which.PRED.re
44040 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 73 20 61 20 66 75 turns.non-nil.......PRED.is.a.fu
44060 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.
44080 74 68 65 20 74 61 69 6c 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 0a 20 20 20 20 20 6f 66 20 4c 49 the.tail.(not.a.copy)......of.LI
440a0 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
440c0 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 69 6c 2e 0a 0a nt.for.which.PRED.returns.nil...
440e0 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
44100 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 72 6f 70 2d 77 68 69 6c 65 e2 .counterpart.is....--drop-while.
44120 80 99 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 ..........For.another.variant,.s
44140 65 65 20 61 6c 73 6f 20 e2 80 98 2d 74 61 6b 65 2d 77 68 69 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 ee.also....-take-while....(*note
44160 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 72 .-take-while::).............(-dr
44180 6f 70 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 0a 20 20 20 op-while.#'even?.'(1.2.3.4))....
441a0 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 20 20 20 20 20 20 ...............(1.2.3.4)........
441c0 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 32 20 34 20 35 20 ...(-drop-while.#'even?.'(2.4.5.
441e0 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 36 29 0a 20 20 20 20 6))...................(5.6).....
44200 20 20 20 20 20 20 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 ......(--drop-while.(<.it.4).'(1
44220 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))..................
44240 20 28 34 20 33 20 32 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 .(4.3.2.1)...--.Function:.-selec
44260 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 20 20 t-by-indices.(indices.list).....
44280 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 6e 74 73 20 61 72 .Return.a.list.whose.elements.ar
442a0 65 20 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 20 61 73 e.elements.from.LIST.selected.as
442c0 0a 20 20 20 20 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f 72 20 61 6c 6c .........(nth.i.list)....for.all
442e0 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 .i.from.INDICES.............(-se
44300 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 20 27 28 lect-by-indices.'(4.10.2.3.6).'(
44320 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 61 22 20 "v"."e"."l"."o"."c"."i"."r"."a".
44340 22 70 22 20 22 74 22 20 22 6f 22 20 22 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "p"."t"."o"."r"))...............
44360 e2 87 92 20 28 22 63 22 20 22 6f 22 20 22 6c 22 20 22 6f 22 20 22 72 22 29 0a 20 20 20 20 20 20 ....("c"."o"."l"."o"."r").......
44380 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 32 20 31 20 30 29 ....(-select-by-indices.'(2.1.0)
443a0 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"))................
443c0 87 92 20 28 22 63 22 20 22 62 22 20 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c ...("c"."b"."a")...........(-sel
443e0 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 33 20 31 ect-by-indices.'(0.1.2.0.1.3.3.1
44400 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 20 20 20 20 20 20 ).'("f"."a"."r"."l"))...........
44420 20 20 20 20 e2 87 92 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 ........("f"."a"."r"."f"."a"."l"
44440 20 22 6c 22 20 22 61 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 74 ."l"."a")...--.Function:.-select
44460 2d 63 6f 6c 75 6d 6e 73 20 28 63 6f 6c 75 6d 6e 73 20 74 61 62 6c 65 29 0a 20 20 20 20 20 53 65 -columns.(columns.table)......Se
44480 6c 65 63 74 20 43 4f 4c 55 4d 4e 53 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 20 20 20 54 lect.COLUMNS.from.TABLE........T
444a0 41 42 4c 45 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 77 68 65 72 65 20 65 61 ABLE.is.a.list.of.lists.where.ea
444c0 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 6f 77 2e 20 20 ch.element.represents.one.row...
444e0 49 74 0a 20 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 It......is.assumed.each.row.has.
44500 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 72 6f 77 20 the.same.length........Each.row.
44520 69 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 is.transformed.such.that.only.th
44540 65 20 73 70 65 63 69 66 69 65 64 20 43 4f 4c 55 4d 4e 53 20 61 72 65 0a 20 20 20 20 20 73 65 6c e.specified.COLUMNS.are......sel
44560 65 63 74 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 65 6c 65 63 ected........See.also:....-selec
44580 74 2d 63 6f 6c 75 6d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d t-column....(*note.-select-colum
445a0 6e 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 n::),.........-select-by-indices
445c0 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 3a 29 ....(*note.-select-by-indices::)
445e0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 20 27 28 30 ............(-select-columns.'(0
44600 20 32 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 .2).'((1.2.3).(a.b.c).(:a.:b.:c)
44620 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 29 20 28 61 20 63 ))...................((1.3).(a.c
44640 29 20 28 3a 61 20 3a 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f ).(:a.:c))...........(-select-co
44660 6c 75 6d 6e 73 20 27 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 lumns.'(1).'((1.2.3).(a.b.c).(:a
44680 20 3a 62 20 3a 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 29 .:b.:c)))...................((2)
446a0 20 28 62 29 20 28 3a 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f .(b).(:b))...........(-select-co
446c0 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 3a 61 20 lumns.nil.'((1.2.3).(a.b.c).(:a.
446e0 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 6e 69 6c 20 :b.:c)))...................(nil.
44700 6e 69 6c 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 6c 65 63 74 2d nil.nil)...--.Function:.-select-
44720 63 6f 6c 75 6d 6e 20 28 63 6f 6c 75 6d 6e 20 74 61 62 6c 65 29 0a 20 20 20 20 20 53 65 6c 65 63 column.(column.table)......Selec
44740 74 20 43 4f 4c 55 4d 4e 20 66 72 6f 6d 20 54 41 42 4c 45 2e 0a 0a 20 20 20 20 20 54 41 42 4c 45 t.COLUMN.from.TABLE........TABLE
44760 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
44780 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 20 20 49 74 0a 20 lement.represents.one.row...It..
447a0 20 20 20 20 69 73 20 61 73 73 75 6d 65 64 20 65 61 63 68 20 72 6f 77 20 68 61 73 20 74 68 65 20 ....is.assumed.each.row.has.the.
447c0 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 69 6e 67 6c 65 20 73 65 same.length........The.single.se
447e0 6c 65 63 74 65 64 20 63 6f 6c 75 6d 6e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 6c lected.column.is.returned.as.a.l
44800 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 6c 65 63 74 2d ist........See.also:....-select-
44820 63 6f 6c 75 6d 6e 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e columns....(*note.-select-column
44840 73 3a 3a 29 2c 0a 20 20 20 20 20 e2 80 98 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 s::),.........-select-by-indices
44860 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 3a 3a 29 ....(*note.-select-by-indices::)
44880 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 20 31 20 27 28 ............(-select-column.1.'(
448a0 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 20 (1.2.3).(a.b.c).(:a.:b.:c)))....
448c0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 62 20 3a 62 29 0a 0a 1f 0a 46 69 6c 65 3a ...............(2.b.:b)....File:
448e0 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c .dash.info,..Node:.List.to.list,
44900 20 20 4e 65 78 74 3a 20 52 65 64 75 63 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 75 62 6c 69 ..Next:.Reductions,..Prev:.Subli
44920 73 74 20 73 65 6c 65 63 74 69 6f 6e 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e st.selection,..Up:.Functions..2.
44940 33 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 3.List.to.list.================.
44960 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.
44980 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 20 2d 2d 20 46 75 6e copy.of.the.input.list....--.Fun
449a0 63 74 69 6f 6e 3a 20 2d 6b 65 65 70 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 ction:.-keep.(fn.list)......Retu
449c0 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 6e 69 6c 20 72 65 73 rn.a.new.list.of.the.non-nil.res
449e0 75 6c 74 73 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 65 61 63 68 0a 20 20 20 20 ults.of.applying.FN.to.each.....
44a00 20 69 74 65 6d 20 69 6e 20 4c 49 53 54 2e 20 20 4c 69 6b 65 20 e2 80 98 2d 66 69 6c 74 65 72 e2 .item.in.LIST...Like....-filter.
44a20 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 6c 74 65 72 3a 3a 29 2c 20 62 75 74 20 72 65 74 75 72 6e ...(*note.-filter::),.but.return
44a40 73 20 74 68 65 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 73 20 6f 66 20 46 4e s.the......non-nil.results.of.FN
44a60 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c .instead.of.the.corresponding.el
44a80 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 49 74 73 20 61 ements.of......LIST........Its.a
44aa0 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 6b 65 65 naphoric.counterpart.is....--kee
44ac0 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 65 70 20 23 27 63 64 72 20 27 28 p................(-keep.#'cdr.'(
44ae0 28 31 20 32 20 33 29 20 28 34 20 35 29 20 28 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (1.2.3).(4.5).(6))).............
44b00 20 20 e2 87 92 20 28 28 32 20 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6b 65 ......((2.3).(5))...........(-ke
44b20 65 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 61 6e 64 20 28 3e 20 6e 20 33 29 20 28 2a 20 31 ep.(lambda.(n).(and.(>.n.3).(*.1
44b40 30 20 6e 29 29 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 20 0.n))).'(1.2.3.4.5.6))..........
44b60 20 20 20 20 20 e2 87 92 20 28 34 30 20 35 30 20 36 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d .........(40.50.60)...........(-
44b80 2d 6b 65 65 70 20 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 -keep.(and.(>.it.3).(*.10.it)).'
44ba0 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 (1.2.3.4.5.6))..................
44bc0 20 28 34 30 20 35 30 20 36 30 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 63 .(40.50.60)...--.Function:.-conc
44be0 61 74 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 20 61 20 6e at.(&rest.lists)......Return.a.n
44c00 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 6f ew.list.with.the.concatenation.o
44c20 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 75 70 70 6c f.the.elements.in.the......suppl
44c40 69 65 64 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 ied.LISTS.............(-concat.'
44c60 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 20 20 20 20 (1))...................(1)......
44c80 20 20 20 20 20 28 2d 63 6f 6e 63 61 74 20 27 28 31 29 20 27 28 32 29 29 0a 20 20 20 20 20 20 20 .....(-concat.'(1).'(2))........
44ca0 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e ...........(1.2)...........(-con
44cc0 63 61 74 20 27 28 31 29 20 27 28 32 20 33 29 20 27 28 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 cat.'(1).'(2.3).'(4))...........
44ce0 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ........(1.2.3.4)...--.Function:
44d00 20 2d 66 6c 61 74 74 65 6e 20 28 6c 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6e 65 73 74 65 64 .-flatten.(l)......Take.a.nested
44d20 20 6c 69 73 74 20 4c 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 .list.L.and.return.its.contents.
44d40 61 73 20 61 20 73 69 6e 67 6c 65 2c 20 66 6c 61 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 as.a.single,.flat......list.....
44d60 20 20 20 4e 6f 74 65 20 74 68 61 74 20 62 65 63 61 75 73 65 20 e2 80 98 6e 69 6c e2 80 99 20 72 ...Note.that.because....nil....r
44d80 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
44da0 73 20 28 61 6e 0a 20 20 20 20 20 65 6d 70 74 79 20 6c 69 73 74 29 2c 20 61 6e 79 20 6d 65 6e 74 s.(an......empty.list),.any.ment
44dc0 69 6f 6e 20 6f 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 ion.of.nil.in.L.will.disappear.a
44de0 66 74 65 72 0a 20 20 20 20 20 66 6c 61 74 74 65 6e 69 6e 67 2e 20 20 49 66 20 79 6f 75 20 6e 65 fter......flattening...If.you.ne
44e00 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 6e 69 6c 73 2c 20 63 6f 6e 73 69 64 65 72 20 e2 80 ed.to.preserve.nils,.consider...
44e20 98 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 .-flatten-n.........(*note.-flat
44e40 74 65 6e 2d 6e 3a 3a 29 20 6f 72 20 6d 61 70 20 74 68 65 6d 20 74 6f 20 73 6f 6d 65 20 75 6e 69 ten-n::).or.map.them.to.some.uni
44e60 71 75 65 20 73 79 6d 62 6f 6c 20 61 6e 64 20 74 68 65 6e 20 6d 61 70 0a 20 20 20 20 20 74 68 65 que.symbol.and.then.map......the
44e80 6d 20 62 61 63 6b 2e 0a 0a 20 20 20 20 20 43 6f 6e 73 65 73 20 6f 66 20 74 77 6f 20 61 74 6f 6d m.back........Conses.of.two.atom
44ea0 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 22 74 65 72 6d 69 6e 61 6c 73 22 2c 20 74 68 s.are.considered."terminals",.th
44ec0 61 74 20 69 73 2c 20 74 68 65 79 0a 20 20 20 20 20 61 72 65 6e e2 80 99 74 20 66 6c 61 74 74 65 at.is,.they......aren...t.flatte
44ee0 6e 65 64 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 ned.further........See.also:....
44f00 2d 66 6c 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a -flatten-n....(*note.-flatten-n:
44f20 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 29 29 29 0a :)............(-flatten.'((1))).
44f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 ..................(1)...........
44f60 28 2d 66 6c 61 74 74 65 6e 20 27 28 28 31 20 28 32 20 33 29 20 28 28 28 34 20 28 35 29 29 29 29 (-flatten.'((1.(2.3).(((4.(5))))
44f80 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 35 )))...................(1.2.3.4.5
44fa0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 20 27 28 31 20 32 20 28 33 20 2e )...........(-flatten.'(1.2.(3..
44fc0 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 .4)))...................(1.2.(3.
44fe0 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 20 ..4))...--.Function:.-flatten-n.
45000 28 6e 75 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 46 6c 61 74 74 65 6e 20 4e 55 4d 20 6c 65 76 65 (num.list)......Flatten.NUM.leve
45020 6c 73 20 6f 66 20 61 20 6e 65 73 74 65 64 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 ls.of.a.nested.LIST........See.a
45040 6c 73 6f 3a 20 e2 80 98 2d 66 6c 61 74 74 65 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 lso:....-flatten....(*note.-flat
45060 74 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 31 20 ten::)............(-flatten-n.1.
45080 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 '((1.2).((3.4).((5.6))))).......
450a0 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 28 33 20 34 29 20 28 28 35 20 36 29 29 29 0a ............(1.2.(3.4).((5.6))).
450c0 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 32 20 27 28 28 31 20 32 29 20 ..........(-flatten-n.2.'((1.2).
450e0 28 28 33 20 34 29 20 28 28 35 20 36 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((3.4).((5.6)))))...............
45100 e2 87 92 20 28 31 20 32 20 33 20 34 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ....(1.2.3.4.(5.6))...........(-
45120 66 6c 61 74 74 65 6e 2d 6e 20 33 20 27 28 28 31 20 32 29 20 28 28 33 20 34 29 20 28 28 35 20 36 flatten-n.3.'((1.2).((3.4).((5.6
45140 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 )))))...................(1.2.3.4
45160 20 35 20 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 20 28 6f .5.6)...--.Function:.-replace.(o
45180 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 61 6c 6c 20 4f 4c ld.new.list)......Replace.all.OL
451a0 44 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 20 77 69 74 68 20 4e 45 57 2e 0a 0a 20 20 20 20 20 D.items.in.LIST.with.NEW........
451c0 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
451e0 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 72 65 70 qual...........See.also:....-rep
45200 6c 61 63 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 3a 29 lace-at....(*note.-replace-at::)
45220 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 22 31 22 20 27 28 31 20 ............(-replace.1."1".'(1.
45240 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 20 2.3.4.3.2.1))...................
45260 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ("1".2.3.4.3.2."1")...........(-
45280 72 65 70 6c 61 63 65 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 61 22 20 22 6e 69 63 65 22 replace."foo"."bar".'("a"."nice"
452a0 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 22 29 ."foo"."sentence"."about"."foo")
452c0 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 63 65 22 20 )...................("a"."nice".
452e0 22 62 61 72 22 20 22 73 65 6e 74 65 6e 63 65 22 20 22 61 62 6f 75 74 22 20 22 62 61 72 22 29 0a "bar"."sentence"."about"."bar").
45300 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 ..........(-replace.1.2.nil)....
45320 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ...............nil...--.Function
45340 3a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 28 6f 6c 64 20 6e 65 77 20 6c 69 73 74 29 0a :.-replace-first.(old.new.list).
45360 20 20 20 20 20 52 65 70 6c 61 63 65 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 .....Replace.the.first.occurrenc
45380 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 20 20 20 20 e.of.OLD.with.NEW.in.LIST.......
453a0 20 45 6c 65 6d 65 6e 74 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 .Elements.are.compared.using....
453c0 65 71 75 61 6c e2 80 99 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 equal...........See.also:....-ma
453e0 70 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 66 69 72 73 74 3a 3a 29 0a p-first....(*note.-map-first::).
45400 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 31 20 22 31 22 ...........(-replace-first.1."1"
45420 20 27 28 31 20 32 20 33 20 34 20 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'(1.2.3.4.3.2.1))..............
45440 20 e2 87 92 20 28 22 31 22 20 32 20 33 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 .....("1".2.3.4.3.2.1)..........
45460 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 20 22 66 6f 6f 22 20 22 62 61 72 22 20 27 28 22 .(-replace-first."foo"."bar".'("
45480 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 61 62 6f 75 a"."nice"."foo"."sentence"."abou
454a0 74 22 20 22 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 61 t"."foo"))...................("a
454c0 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 6f 75 74 "."nice"."bar"."sentence"."about
454e0 22 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 66 69 72 "."foo")...........(-replace-fir
45500 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 st.1.2.nil)...................ni
45520 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 28 l...--.Function:.-replace-last.(
45540 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 68 65 20 6c old.new.list)......Replace.the.l
45560 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 4e 45 57 20 69 ast.occurrence.of.OLD.with.NEW.i
45580 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 63 6f 6d 70 61 n.LIST........Elements.are.compa
455a0 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 20 53 65 65 red.using....equal...........See
455c0 20 61 6c 73 6f 3a 20 e2 80 98 2d 6d 61 70 2d 6c 61 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d .also:....-map-last....(*note.-m
455e0 61 70 2d 6c 61 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d ap-last::)............(-replace-
45600 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 0a 20 20 20 last.1."1".'(1.2.3.4.3.2.1))....
45620 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 33 20 32 20 22 31 22 29 ...............(1.2.3.4.3.2."1")
45640 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 6c 61 73 74 20 22 66 6f 6f 22 20 ...........(-replace-last."foo".
45660 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
45680 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")).............
456a0 20 20 e2 87 92 20 28 22 61 22 20 22 6e 69 63 65 22 20 22 66 6f 6f 22 20 22 73 65 6e 74 65 6e 63 ......("a"."nice"."foo"."sentenc
456c0 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
456e0 70 6c 61 63 65 2d 6c 61 73 74 20 31 20 32 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 place-last.1.2.nil).............
45700 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 73 65 72 74 ......nil...--.Function:.-insert
45720 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 -at.(n.x.list)......Return.a.lis
45740 74 20 77 69 74 68 20 58 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 4c 49 53 54 20 61 74 20 70 t.with.X.inserted.into.LIST.at.p
45760 6f 73 69 74 69 6f 6e 20 4e 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 73 osition.N........See.also:....-s
45780 70 6c 69 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 70 6c 69 63 65 3a 3a 29 2c 20 e2 80 98 2d plice....(*note.-splice::),....-
457a0 73 70 6c 69 63 65 2d 6c 69 73 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 73 70 6c 69 splice-list....(*note......-spli
457c0 63 65 2d 6c 69 73 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d 61 ce-list::)............(-insert-a
457e0 74 20 31 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 t.1.'x.'(a.b.c))................
45800 87 92 20 28 61 20 78 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 73 65 72 74 2d ...(a.x.b.c)...........(-insert-
45820 61 74 20 31 32 20 27 78 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 at.12.'x.'(a.b.c))..............
45840 20 e2 87 92 20 28 61 20 62 20 63 20 78 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 .....(a.b.c.x)...--.Function:.-r
45860 65 70 6c 61 63 65 2d 61 74 20 28 6e 20 78 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e eplace-at.(n.x.list)......Return
45880 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 73 69 .a.list.with.element.at.Nth.posi
458a0 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 0a 0a 20 tion.in.LIST.replaced.with.X....
458c0 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 70 6c 61 63 65 e2 80 99 20 28 2a 6e ....See.also:....-replace....(*n
458e0 6f 74 65 20 2d 72 65 70 6c 61 63 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 ote.-replace::)............(-rep
45900 6c 61 63 65 2d 61 74 20 30 20 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 lace-at.0.9.'(0.1.2.3.4.5)).....
45920 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 39 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 ..............(9.1.2.3.4.5).....
45940 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 31 20 39 20 27 28 30 20 31 20 32 20 33 ......(-replace-at.1.9.'(0.1.2.3
45960 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 39 20 32 20 .4.5))...................(0.9.2.
45980 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 6c 61 63 65 2d 61 74 20 34 20 3.4.5)...........(-replace-at.4.
459a0 39 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9.'(0.1.2.3.4.5))...............
459c0 e2 87 92 20 28 30 20 31 20 32 20 33 20 39 20 35 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ....(0.1.2.3.9.5)...--.Function:
459e0 20 2d 75 70 64 61 74 65 2d 61 74 20 28 6e 20 66 75 6e 63 20 6c 69 73 74 29 0a 20 20 20 20 20 52 .-update-at.(n.func.list)......R
45a00 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 4e 74 68 eturn.a.list.with.element.at.Nth
45a20 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 0a .position.in.LIST.replaced.with.
45a40 20 20 20 20 20 e2 80 98 28 66 75 6e 63 20 28 6e 74 68 20 6e 20 6c 69 73 74 29 29 e2 80 98 2e 0a ........(func.(nth.n.list)).....
45a60 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 e2 80 99 20 ......See.also:....-map-when....
45a80 28 2a 6e 6f 74 65 20 2d 6d 61 70 2d 77 68 65 6e 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 (*note.-map-when::)............(
45aa0 2d 75 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 -update-at.0.(lambda.(x).(+.x.9)
45ac0 29 20 27 28 30 20 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).'(0.1.2.3.4.5))...............
45ae0 e2 87 92 20 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 75 70 ....(9.1.2.3.4.5)...........(-up
45b00 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 20 27 date-at.1.(lambda.(x).(+.x.8)).'
45b20 28 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 (0.1.2.3.4.5))..................
45b40 20 28 30 20 39 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 70 64 61 .(0.9.2.3.4.5)...........(--upda
45b60 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 22 20 22 62 61 72 te-at.2.(length.it).'("foo"."bar
45b80 22 20 22 62 61 7a 22 20 22 71 75 75 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 "."baz"."quux"))................
45ba0 87 92 20 28 22 66 6f 6f 22 20 22 62 61 72 22 20 33 20 22 71 75 75 78 22 29 0a 0a 20 2d 2d 20 46 ...("foo"."bar".3."quux")...--.F
45bc0 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 unction:.-remove-at.(n.list)....
45be0 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 20 61 74 20 ..Return.a.list.with.element.at.
45c00 4e 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4c 49 53 54 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 Nth.position.in.LIST.removed....
45c20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 ....See.also:....-remove-at-indi
45c40 63 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 ces....(*note.-remove-at-indices
45c60 3a 3a 29 2c 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 20 2d ::),.........-remove....(*note.-
45c80 72 65 6d 6f 76 65 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 remove::)............(-remove-at
45ca0 20 30 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 0a 20 .0.'("0"."1"."2"."3"."4"."5"))..
45cc0 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 33 22 20 22 34 .................("1"."2"."3"."4
45ce0 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 74 20 31 20 27 "."5")...........(-remove-at.1.'
45d00 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 20 ("0"."1"."2"."3"."4"."5"))......
45d20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 30 22 20 22 32 22 20 22 33 22 20 22 34 22 20 22 35 .............("0"."2"."3"."4"."5
45d40 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 20 32 20 27 28 22 30 22 ")...........(-remove-at.2.'("0"
45d60 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 20 20 20 20 20 ."1"."2"."3"."4"."5"))..........
45d80 20 20 20 20 20 e2 87 92 20 28 22 30 22 20 22 31 22 20 22 33 22 20 22 34 22 20 22 35 22 29 0a 0a .........("0"."1"."3"."4"."5")..
45da0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 .--.Function:.-remove-at-indices
45dc0 20 28 69 6e 64 69 63 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 .(indices.list)......Return.a.li
45de0 73 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 st.whose.elements.are.elements.f
45e00 72 6f 6d 20 4c 49 53 54 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 73 rom.LIST.without......elements.s
45e20 65 6c 65 63 74 65 64 20 61 73 20 e2 80 98 28 6e 74 68 20 69 20 6c 69 73 74 29 e2 80 98 20 66 6f elected.as....(nth.i.list)....fo
45e40 72 20 61 6c 6c 20 69 20 66 72 6f 6d 20 49 4e 44 49 43 45 53 2e 0a 0a 20 20 20 20 20 53 65 65 20 r.all.i.from.INDICES........See.
45e60 61 6c 73 6f 3a 20 e2 80 98 2d 72 65 6d 6f 76 65 2d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 also:....-remove-at....(*note.-r
45e80 65 6d 6f 76 65 2d 61 74 3a 3a 29 2c 20 e2 80 98 2d 72 65 6d 6f 76 65 e2 80 99 20 28 2a 6e 6f 74 emove-at::),....-remove....(*not
45ea0 65 0a 20 20 20 20 20 2d 72 65 6d 6f 76 65 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 e......-remove::)............(-r
45ec0 65 6d 6f 76 65 2d 61 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 emove-at-indices.'(0).'("0"."1".
45ee0 22 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 "2"."3"."4"."5"))...............
45f00 e2 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 ....("1"."2"."3"."4"."5").......
45f20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 32 20 34 29 ....(-remove-at-indices.'(0.2.4)
45f40 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 0a 20 20 20 .'("0"."1"."2"."3"."4"."5"))....
45f60 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 31 22 20 22 33 22 20 22 35 22 29 0a 20 20 20 ...............("1"."3"."5")....
45f80 20 20 20 20 20 20 20 28 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 20 27 28 30 20 35 .......(-remove-at-indices.'(0.5
45fa0 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 0a 20 20 ).'("0"."1"."2"."3"."4"."5"))...
45fc0 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 33 22 20 22 34 22 ................("1"."2"."3"."4"
45fe0 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 64 )....File:.dash.info,..Node:.Red
46000 75 63 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c 20 20 50 72 65 76 uctions,..Next:.Unfolding,..Prev
46020 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a :.List.to.list,..Up:.Functions..
46040 32 2e 34 20 52 65 64 75 63 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 2.4.Reductions.==============..F
46060 75 6e 63 74 69 6f 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 unctions.reducing.lists.to.a.sin
46080 67 6c 65 20 76 61 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 gle.value.(which.may.also.be.a.l
460a0 69 73 74 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 66 72 6f ist)....--.Function:.-reduce-fro
460c0 6d 20 28 66 6e 20 69 6e 69 74 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 64 75 63 65 20 74 68 65 m.(fn.init.list)......Reduce.the
460e0 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 74 61 72 74 69 .function.FN.across.LIST,.starti
46100 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 72 ng.with.INIT...Return.the......r
46120 65 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 esult.of.applying.FN.to.INIT.and
46140 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 6e .the.first.element.of.LIST,.then
46160 0a 20 20 20 20 20 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 ......applying.FN.to.that.result
46180 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 2c 20 65 74 63 2e 20 20 49 .and.the.second.element,.etc...I
461a0 66 20 4c 49 53 54 20 69 73 0a 20 20 20 20 20 65 6d 70 74 79 2c 20 72 65 74 75 72 6e 20 49 4e 49 f.LIST.is......empty,.return.INI
461c0 54 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 T.without.calling.FN........This
461e0 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 .function...s.anaphoric.counterp
46200 61 72 74 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 art.is....--reduce-from.........
46220 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 80 98 2d ..For.other.folds,.see.also....-
46240 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 61 6e 64 0a reduce....(*note.-reduce::).and.
46260 20 20 20 20 20 e2 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 ........-reduce-r....(*note.-red
46280 75 63 65 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 65 2d 66 72 uce-r::).............(-reduce-fr
462a0 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 20 20 20 20 20 om.#'-.10.'(1.2.3)).............
462c0 20 20 e2 87 92 20 34 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 ......4...........(-reduce-from.
462e0 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 #'list.10.'(1.2.3)).............
46300 20 20 e2 87 92 20 28 28 28 31 30 20 31 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 ......(((10.1).2).3)...........(
46320 2d 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 63 6f 6e 63 61 74 20 61 63 63 20 22 20 22 20 69 74 --reduce-from.(concat.acc.".".it
46340 29 20 22 53 54 41 52 54 22 20 27 28 22 61 22 20 22 62 22 20 22 63 22 29 29 0a 20 20 20 20 20 20 )."START".'("a"."b"."c")).......
46360 20 20 20 20 20 20 20 20 e2 87 92 20 22 53 54 41 52 54 20 61 20 62 20 63 22 0a 0a 20 2d 2d 20 46 ............"START.a.b.c"...--.F
46380 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 unction:.-reduce-r-from.(fn.init
463a0 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 20 .list)......Reduce.the.function.
463c0 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 61 72 74 FN.across.LIST.in.reverse,.start
463e0 69 6e 67 20 77 69 74 68 20 49 4e 49 54 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 ing.with.INIT.......Return.the.r
46400 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 6c 61 73 74 esult.of.applying.FN.to.the.last
46420 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 49 4e 49 54 2c 20 .element.of.LIST.and......INIT,.
46440 74 68 65 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 2d 74 then.applying.FN.to.the.second-t
46460 6f 2d 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 70 72 65 76 o-last.element.and.the......prev
46480 69 6f 75 73 20 72 65 73 75 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 20 20 54 68 61 74 20 69 73 ious.result.of.FN,.etc...That.is
464a0 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 0a 20 20 ,.the.first.argument.of.FN.is...
464c0 20 20 20 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 ...the.current.element,.and.its.
464e0 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 20 second.argument.the.accumulated.
46500 76 61 6c 75 65 2e 0a 20 20 20 20 20 49 66 20 4c 49 53 54 20 69 73 20 65 6d 70 74 79 2c 20 72 65 value.......If.LIST.is.empty,.re
46520 74 75 72 6e 20 49 4e 49 54 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 46 4e 2e 0a 0a 20 turn.INIT.without.calling.FN....
46540 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 98 2d 72 65 ....This.function.is.like....-re
46560 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 66 72 6f 6d duce-from....(*note.-reduce-from
46580 3a 3a 29 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 73 6f 63 ::).but.the......operation.assoc
465a0 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 68 61 6e iates.from.the.right.rather.than
465c0 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 77 6f 72 64 73 2c 20 69 74 20 .left...In.other......words,.it.
465e0 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 6e 64 20 starts.from.the.end.of.LIST.and.
46600 66 6c 69 70 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 0a 20 20 20 20 20 46 4e 2e 20 flips.the.arguments.to......FN..
46620 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 61 63 .Conceptually,.it.is.like.replac
46640 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 20 20 ing.the.conses.in.LIST.with.....
46660 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 61 6e 64 20 69 74 73 20 6c 61 73 .applications.of.FN,.and.its.las
46680 74 20 6c 69 6e 6b 20 77 69 74 68 20 49 4e 49 54 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6e 67 t.link.with.INIT,.and.evaluating
466a0 20 74 68 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 .the......resulting.expression..
466c0 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 ......This.function...s.anaphori
466e0 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 75 63 65 2d 72 2d 66 c.counterpart.is....--reduce-r-f
46700 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 20 73 rom...........For.other.folds,.s
46720 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d ee.also....-reduce-r....(*note.-
46740 72 65 64 75 63 65 2d 72 3a 3a 29 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 reduce-r::).and.........-reduce.
46760 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 20 20 ...(*note.-reduce::)............
46780 20 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 32 20 33 29 .(-reduce-r-from.#'-.10.'(1.2.3)
467a0 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 20 20 )...................-8..........
467c0 20 28 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 20 23 27 6c 69 73 74 20 31 30 20 27 28 31 20 32 .(-reduce-r-from.#'list.10.'(1.2
467e0 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 28 32 20 28 33 20 .3))...................(1.(2.(3.
46800 31 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 10)))...........(--reduce-r-from
46820 20 28 63 6f 6e 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 .(concat.it.".".acc)."END".'("a"
46840 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 87 92 20 22 61 20 ."b"."c"))..................."a.
46860 62 20 63 20 45 4e 44 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 20 b.c.END"...--.Function:.-reduce.
46880 28 66 6e 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 (fn.list)......Reduce.the.functi
468a0 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 53 54 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 on.FN.across.LIST...Return.the.r
468c0 65 73 75 6c 74 20 6f 66 20 61 70 70 6c 79 69 6e 67 0a 20 20 20 20 20 46 4e 20 74 6f 20 74 68 65 esult.of.applying......FN.to.the
468e0 20 66 69 72 73 74 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 74 68 65 .first.two.elements.of.LIST,.the
46900 6e 20 61 70 70 6c 79 69 6e 67 20 46 4e 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 72 65 73 75 6c n.applying.FN.to.that......resul
46920 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 20 20 49 t.and.the.third.element,.etc...I
46940 66 20 4c 49 53 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 f.LIST.contains.a.single......el
46960 65 6d 65 6e 74 2c 20 72 65 74 75 72 6e 20 69 74 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 ement,.return.it.without.calling
46980 20 46 4e 2e 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 0a 20 .FN...If.LIST.is.empty,.return..
469a0 20 20 20 20 74 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 ....the.result.of.calling.FN.wit
469c0 68 20 6e 6f 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 h.no.arguments........This.funct
469e0 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 ion...s.anaphoric.counterpart.is
46a00 20 e2 80 98 2d 2d 72 65 64 75 63 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 65 72 ....--reduce...........For.other
46a20 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 2d 66 72 6f 6d .folds,.see.also....-reduce-from
46a40 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 61 6e 64 0a 20 ....(*note.-reduce-from::).and..
46a60 20 20 20 20 e2 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 .......-reduce-r....(*note.-redu
46a80 63 65 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 65 20 23 27 2d ce-r::).............(-reduce.#'-
46aa0 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 2d .'(1.2.3.4))...................-
46ac0 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 20 23 27 6c 69 73 74 20 27 28 31 20 8...........(-reduce.#'list.'(1.
46ae0 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 28 31 20 32 2.3.4))...................(((1.2
46b00 29 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 20 28 66 6f 72 ).3).4)...........(--reduce.(for
46b20 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 20 33 29 29 0a 20 20 mat."%s-%d".acc.it).'(1.2.3))...
46b40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 31 2d 32 2d 33 22 0a 0a 20 2d 2d 20 46 75 6e ................"1-2-3"...--.Fun
46b60 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 65 2d 72 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 ction:.-reduce-r.(fn.list)......
46b80 52 65 64 75 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 61 63 72 6f 73 73 20 4c 49 Reduce.the.function.FN.across.LI
46ba0 53 54 20 69 6e 20 72 65 76 65 72 73 65 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c ST.in.reverse...Return.the.resul
46bc0 74 0a 20 20 20 20 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 t......of.applying.FN.to.the.las
46be0 74 20 74 77 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 t.two.elements.of.LIST,.then.app
46c00 6c 79 69 6e 67 20 46 4e 0a 20 20 20 20 20 74 6f 20 74 68 65 20 74 68 69 72 64 2d 74 6f 2d 6c 61 lying.FN......to.the.third-to-la
46c20 73 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 72 65 73 75 st.element.and.the.previous.resu
46c40 6c 74 20 6f 66 20 46 4e 2c 20 65 74 63 2e 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 lt.of.FN,.etc.......That.is,.the
46c60 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 46 4e 20 69 73 20 74 68 65 20 63 75 72 .first.argument.of.FN.is.the.cur
46c80 72 65 6e 74 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 73 65 63 6f 6e rent.element,.and.its......secon
46ca0 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 20 76 61 6c 75 65 d.argument.the.accumulated.value
46cc0 2e 20 20 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 0a 20 20 20 ...If.LIST.contains.a.single....
46ce0 20 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 ..element,.return.it.without.cal
46d00 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 2c 20 72 65 74 75 ling.FN...If.LIST.is.empty,.retu
46d20 72 6e 0a 20 20 20 20 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 46 4e rn......the.result.of.calling.FN
46d40 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 .with.no.arguments........This.f
46d60 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 e2 80 99 20 28 2a unction.is.like....-reduce....(*
46d80 6e 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 62 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 6f note.-reduce::).but.the.operatio
46da0 6e 0a 20 20 20 20 20 61 73 73 6f 63 69 61 74 65 73 20 66 72 6f 6d 20 74 68 65 20 72 69 67 68 74 n......associates.from.the.right
46dc0 20 72 61 74 68 65 72 20 74 68 61 6e 20 6c 65 66 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 .rather.than.left...In.other.wor
46de0 64 73 2c 20 69 74 0a 20 20 20 20 20 73 74 61 72 74 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 ds,.it......starts.from.the.end.
46e00 6f 66 20 4c 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 of.LIST.and.flips.the.arguments.
46e20 74 6f 20 46 4e 2e 0a 20 20 20 20 20 43 6f 6e 63 65 70 74 75 61 6c 6c 79 2c 20 69 74 20 69 73 20 to.FN.......Conceptually,.it.is.
46e40 6c 69 6b 65 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 6f 6e 73 65 73 20 69 6e 20 4c 49 53 like.replacing.the.conses.in.LIS
46e60 54 20 77 69 74 68 0a 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 20 46 4e 2c 20 T.with......applications.of.FN,.
46e80 69 67 6e 6f 72 69 6e 67 20 69 74 73 20 6c 61 73 74 20 6c 69 6e 6b 2c 20 61 6e 64 20 65 76 61 6c ignoring.its.last.link,.and.eval
46ea0 75 61 74 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 65 78 70 72 65 73 uating.the......resulting.expres
46ec0 73 69 6f 6e 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 sion........This.function...s.an
46ee0 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 75 aphoric.counterpart.is....--redu
46f00 63 65 2d 72 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 ce-r...........For.other.folds,.
46f20 73 65 65 20 61 6c 73 6f 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a see.also....-reduce-r-from....(*
46f40 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 0a 20 20 20 20 20 61 6e 64 20 note.-reduce-r-from::)......and.
46f60 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 63 65 3a 3a 29 2e ...-reduce....(*note.-reduce::).
46f80 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 65 2d 72 20 23 27 2d 20 27 28 31 20 32 ............(-reduce-r.#'-.'(1.2
46fa0 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 2d 32 0a 20 20 20 20 .3.4))...................-2.....
46fc0 20 20 20 20 20 20 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 ......(-reduce-r.#'list.'(1.2.3.
46fe0 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 28 32 20 28 33 20 34 4))...................(1.(2.(3.4
47000 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 72 65 64 75 63 65 2d 72 20 28 66 6f 72 6d 61 )))...........(--reduce-r.(forma
47020 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 0a 20 20 20 20 t."%s-%d".acc.it).'(1.2.3)).....
47040 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 33 2d 32 2d 31 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 .............."3-2-1"...--.Funct
47060 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 20 6c ion:.-reductions-from.(fn.init.l
47080 69 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 ist)......Return.a.list.of.FN...
470a0 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
470c0 20 4c 49 53 54 2e 20 20 54 68 61 74 0a 20 20 20 20 20 69 73 2c 20 61 20 6c 69 73 74 20 6f 66 20 .LIST...That......is,.a.list.of.
470e0 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 the.intermediate.values.of.the.a
47100 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 65 2d ccumulator.when.........-reduce-
47120 66 72 6f 6d 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 28 from....(*note.-reduce-from::).(
47140 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 0a 20 20 20 20 20 74 which.see).is.called.with......t
47160 68 65 20 73 61 6d 65 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 he.same.arguments........This.fu
47180 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
471a0 20 69 73 20 e2 80 98 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 .is....--reductions-from........
471c0 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 80 98 ...For.other.folds,.see.also....
471e0 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 6f 6e -reductions....(*note.-reduction
47200 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 e2 80 s::).and.........-reductions-r..
47220 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 20 20 ..(*note.-reductions-r::).......
47240 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 6d 61 78 20 30 20 ......(-reductions-from.#'max.0.
47260 27 28 32 20 31 20 34 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 '(2.1.4.3))...................(0
47280 20 32 20 32 20 34 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 .2.2.4.4)...........(-reductions
472a0 2d 66 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 20 20 20 20 -from.#'*.1.'(1.2.3.4)).........
472c0 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 36 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 ..........(1.1.2.6.24)..........
472e0 20 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 46 4e .(--reductions-from.(format."(FN
47300 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 33 29 .%s.%d)".acc.it)."INIT".'(1.2.3)
47320 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 49 4e 49 54 22 20 22 28 46 4e )...................("INIT"."(FN
47340 20 49 4e 49 54 20 31 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 .INIT.1)"."(FN.(FN.INIT.1).2)"."
47360 28 46 4e 20 28 46 4e 20 28 46 4e 20 49 4e 49 54 20 31 29 20 32 29 20 33 29 22 29 0a 0a 20 2d 2d (FN.(FN.(FN.INIT.1).2).3)")...--
47380 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 20 28 66 .Function:.-reductions-r-from.(f
473a0 6e 20 69 6e 69 74 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 n.init.list)......Return.a.list.
473c0 6f 66 20 46 4e e2 80 99 73 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 64 75 63 74 69 6f 6e of.FN...s.intermediate.reduction
473e0 73 20 61 63 72 6f 73 73 20 72 65 76 65 72 73 65 64 20 4c 49 53 54 2e 0a 20 20 20 20 20 54 68 61 s.across.reversed.LIST.......Tha
47400 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 74 65 t.is,.a.list.of.the.intermediate
47420 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 0a .values.of.the.accumulator.when.
47440 20 20 20 20 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 ........-reduce-r-from....(*note
47460 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 .-reduce-r-from::).(which.see).i
47480 73 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 61 72 67 75 s.called......with.the.same.argu
474a0 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
474c0 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
474e0 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 6f 74 68 uctions-r-from...........For.oth
47500 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 6e er.folds,.see.also....-reduction
47520 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 20 s....(*note.-reductions::).and..
47540 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 2d .......-reductions-r....(*note.-
47560 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 65 reductions-r::).............(-re
47580 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.
475a0 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 34 20 34 20 33 20 30 3))...................(4.4.4.3.0
475c0 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 2d 66 72 6f 6d 20 )...........(-reductions-r-from.
475e0 23 27 2a 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 #'*.1.'(1.2.3.4))...............
47600 e2 87 92 20 28 32 34 20 32 34 20 31 32 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ....(24.24.12.4.1)...........(--
47620 72 65 64 75 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 reductions-r-from.(format."(FN.%
47640 64 20 25 73 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 0a d.%s)".it.acc)."INIT".'(1.2.3)).
47660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 ..................("(FN.1.(FN.2.
47680 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 49 4e 49 54 (FN.3.INIT)))"."(FN.2.(FN.3.INIT
476a0 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 0a 20 2d 2d 20 46 ))"."(FN.3.INIT)"."INIT")...--.F
476c0 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 20 28 66 6e 20 6c 69 73 74 29 0a 20 unction:.-reductions.(fn.list)..
476e0 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
47700 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 4c 49 53 54 2e rmediate.reductions.across.LIST.
47720 20 20 54 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 ..That......is,.a.list.of.the.in
47740 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 61 63 63 75 6d 75 6c termediate.values.of.the.accumul
47760 61 74 6f 72 20 77 68 65 6e 0a 20 20 20 20 20 e2 80 98 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e ator.when.........-reduce....(*n
47780 6f 74 65 20 2d 72 65 64 75 63 65 3a 3a 29 20 28 77 68 69 63 68 20 73 65 65 29 20 69 73 20 63 61 ote.-reduce::).(which.see).is.ca
477a0 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 lled.with.the.same......argument
477c0 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 6e 61 70 68 s........This.function...s.anaph
477e0 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 75 63 74 69 oric.counterpart.is....--reducti
47800 6f 6e 73 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 ons...........For.other.folds,.s
47820 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 74 65 ee.also....-reductions....(*note
47840 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 65 64 .-reductions::).and.........-red
47860 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 73 2d uctions-r....(*note.-reductions-
47880 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 20 23 27 r::).............(-reductions.#'
478a0 2b 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))...................
478c0 28 31 20 33 20 36 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 69 6f 6e (1.3.6.10)...........(-reduction
478e0 73 20 23 27 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 s.#'*.'(1.2.3.4))...............
47900 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 2d 72 65 64 75 ....(1.2.6.24)...........(--redu
47920 63 74 69 6f 6e 73 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 73 20 25 64 29 22 20 61 63 63 20 ctions.(format."(FN.%s.%d)".acc.
47940 69 74 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 it).'(1.2.3))...................
47960 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 33 29 22 29 (1."(FN.1.2)"."(FN.(FN.1.2).3)")
47980 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 ...--.Function:.-reductions-r.(f
479a0 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 74 20 6f 66 20 46 4e n.list)......Return.a.list.of.FN
479c0 e2 80 99 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 ...s.intermediate.reductions.acr
479e0 6f 73 73 20 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 oss.reversed.LIST.......That.is,
47a00 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 76 61 6c 75 .a.list.of.the.intermediate.valu
47a20 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 0a 20 20 20 20 20 es.of.the.accumulator.when......
47a40 e2 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 ...-reduce-r....(*note.-reduce-r
47a60 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 20 74 ::).(which.see).is.called.with.t
47a80 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 54 68 he.same......arguments........Th
47aa0 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
47ac0 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 e2 80 99 2e 0a 0a rpart.is....--reductions-r......
47ae0 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..
47b00 80 98 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 0a 20 ..-reductions-r-from....(*note..
47b20 20 20 20 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d 66 72 6f 6d 3a 3a 29 20 61 6e 64 20 e2 80 ....-reductions-r-from::).and...
47b40 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 6f .-reductions....(*note.-reductio
47b60 6e 73 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 72 ns::).............(-reductions-r
47b80 20 23 27 2b 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 .#'+.'(1.2.3.4))................
47ba0 87 92 20 28 31 30 20 39 20 37 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 64 75 63 74 ...(10.9.7.4)...........(-reduct
47bc0 69 6f 6e 73 2d 72 20 23 27 2a 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 ions-r.#'*.'(1.2.3.4))..........
47be0 20 20 20 20 20 e2 87 92 20 28 32 34 20 32 34 20 31 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 .........(24.24.12.4)...........
47c00 28 2d 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 20 28 66 6f 72 6d 61 74 20 22 28 46 4e 20 25 64 20 (--reductions-r.(format."(FN.%d.
47c20 25 73 29 22 20 69 74 20 61 63 63 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 %s)".it.acc).'(1.2.3))..........
47c40 20 20 20 20 20 e2 87 92 20 28 22 28 46 4e 20 31 20 28 46 4e 20 32 20 33 29 29 22 20 22 28 46 4e .........("(FN.1.(FN.2.3))"."(FN
47c60 20 32 20 33 29 22 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 75 6e 74 20 .2.3)".3)...--.Function:.-count.
47c80 28 70 72 65 64 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 (pred.list)......Counts.the.numb
47ca0 65 72 20 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 er.of.items.in.LIST.where.(PRED.
47cc0 69 74 65 6d 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 item).is.non-nil.............(-c
47ce0 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 20 20 20 20 20 20 ount.'even?.'(1.2.3.4.5)).......
47d00 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 63 6f 75 6e 74 ............2...........(--count
47d20 20 28 3c 20 69 74 20 34 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(<.it.4).'(1.2.3.4))...........
47d40 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 75 6d 20 28 6c ........3...--.Function:.-sum.(l
47d60 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 75 6d 20 6f 66 20 4c 49 53 54 ist)......Return.the.sum.of.LIST
47d80 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 .............(-sum.())..........
47da0 20 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 75 6d 20 27 28 31 29 29 .........0...........(-sum.'(1))
47dc0 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 28 ...................1...........(
47de0 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 -sum.'(1.2.3.4))................
47e00 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 ...10...--.Function:.-running-su
47e20 6d 20 28 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 m.(list)......Return.a.list.with
47e40 20 72 75 6e 6e 69 6e 67 20 73 75 6d 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 .running.sums.of.items.in.LIST..
47e60 20 4c 49 53 54 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 .LIST.must.be......non-empty....
47e80 20 20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 20 32 20 33 20 34 .........(-running-sum.'(1.2.3.4
47ea0 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 29 0a ))...................(1.3.6.10).
47ec0 20 20 20 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 27 28 31 29 29 0a 20 20 ..........(-running-sum.'(1))...
47ee0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................(1)...........(-
47f00 72 75 6e 6e 69 6e 67 2d 73 75 6d 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 running-sum.())...............er
47f20 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 63 6f 6e 73 ror....Wrong.type.argument:.cons
47f40 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f 64 75 63 74 20 28 p,.nil...--.Function:.-product.(
47f60 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 6f 66 list)......Return.the.product.of
47f80 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 28 29 29 0a .LIST.............(-product.()).
47fa0 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 28 2d ..................1...........(-
47fc0 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 product.'(1))...................
47fe0 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 1...........(-product.'(1.2.3.4)
48000 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 34 0a 0a 20 2d 2d 20 46 75 6e 63 )...................24...--.Func
48020 74 69 6f 6e 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 6c 69 73 74 29 0a 20 20 tion:.-running-product.(list)...
48040 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 70 72 ...Return.a.list.with.running.pr
48060 6f 64 75 63 74 73 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 4c 49 53 54 2e 20 20 4c 49 53 54 20 6d oducts.of.items.in.LIST...LIST.m
48080 75 73 74 20 62 65 0a 20 20 20 20 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 0a 20 20 20 20 20 20 20 20 ust.be......non-empty...........
480a0 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 20 32 20 33 20 34 29 29 0a ..(-running-product.'(1.2.3.4)).
480c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 36 20 32 34 29 0a 20 20 20 ..................(1.2.6.24)....
480e0 20 20 20 20 20 20 20 28 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 27 28 31 29 29 0a 20 .......(-running-product.'(1))..
48100 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 .................(1)...........(
48120 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -running-product.())............
48140 20 20 20 65 72 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a ...error....Wrong.type.argument:
48160 20 63 6f 6e 73 70 2c 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 69 74 .consp,.nil...--.Function:.-init
48180 73 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 70 72 65 66 69 78 65 s.(list)......Return.all.prefixe
481a0 73 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 27 28 s.of.LIST.............(-inits.'(
481c0 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 6e 69 6c 1.2.3.4))...................(nil
481e0 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 29 0a 20 20 .(1).(1.2).(1.2.3).(1.2.3.4))...
48200 20 20 20 20 20 20 20 20 28 2d 69 6e 69 74 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(-inits.nil)............
48220 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 69 6e 69 74 73 20 27 .......(nil)...........(-inits.'
48240 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 29 29 (1))...................(nil.(1))
48260 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 69 6c 73 20 28 6c 69 73 74 29 0a 20 20 ...--.Function:.-tails.(list)...
48280 20 20 20 52 65 74 75 72 6e 20 61 6c 6c 20 73 75 66 66 69 78 65 73 20 6f 66 20 4c 49 53 54 0a 0a ...Return.all.suffixes.of.LIST..
482a0 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 ..........(-tails.'(1.2.3.4))...
482c0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 32 20 33 20 ................((1.2.3.4).(2.3.
482e0 34 29 20 28 33 20 34 29 20 28 34 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 4).(3.4).(4).nil)...........(-ta
48300 69 6c 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 29 ils.nil)...................(nil)
48320 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 69 6c 73 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 ...........(-tails.'(1))........
48340 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ...........((1).nil)...--.Functi
48360 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 on:.-common-prefix.(&rest.lists)
48380 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 6f 6d 6d 6f 6e 20 ......Return.the.longest.common.
483a0 70 72 65 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f prefix.of.LISTS.............(-co
483c0 6d 6d 6f 6e 2d 70 72 65 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mmon-prefix.'(1))...............
483e0 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 ....(1)...........(-common-prefi
48400 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 x.'(1.2).'(3.4).'(1.2)).........
48420 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e 2d ..........()...........(-common-
48440 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 20 34 prefix.'(1.2).'(1.2.3).'(1.2.3.4
48460 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 29 0a 0a 20 2d 2d 20 ))...................(1.2)...--.
48480 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 28 26 72 65 73 74 20 Function:.-common-suffix.(&rest.
484a0 6c 69 73 74 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 63 lists)......Return.the.longest.c
484c0 6f 6d 6d 6f 6e 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 20 20 20 20 ommon.suffix.of.LISTS...........
484e0 20 20 28 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 20 27 28 31 29 29 0a 20 20 20 20 20 20 20 20 ..(-common-suffix.'(1)).........
48500 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6d 6d 6f 6e ..........(1)...........(-common
48520 2d 73 75 66 66 69 78 20 27 28 31 20 32 29 20 27 28 33 20 34 29 20 27 28 31 20 32 29 29 0a 20 20 -suffix.'(1.2).'(3.4).'(1.2))...
48540 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 63 ................()...........(-c
48560 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 29 ommon-suffix.'(1.2.3.4).'(2.3.4)
48580 20 27 28 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 34 29 .'(3.4))...................(3.4)
485a0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 20 28 6c 69 73 74 29 0a 20 20 20 20 ...--.Function:.-min.(list).....
485c0 20 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 6d 20 .Return.the.smallest.value.from.
485e0 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 20 LIST.of.numbers.or.markers......
48600 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(-min.'(0))..............
48620 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 69 6e 20 27 28 33 20 32 20 31 29 29 .....0...........(-min.'(3.2.1))
48640 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 28 ...................1...........(
48660 2d 6d 69 6e 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 -min.'(1.2.3))..................
48680 20 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 69 6e 2d 62 79 20 28 63 6f 6d 70 61 .1...--.Function:.-min-by.(compa
486a0 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 73 rator.list)......Take.a.comparis
486c0 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 53 on.function.COMPARATOR.and.a.LIS
486e0 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 6c 65 61 73 74 20 65 6c 65 6d T.and.return.the......least.elem
48700 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 72 69 73 6f ent.of.the.list.by.the.compariso
48720 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 6f 6d 62 69 n.function........See.also.combi
48740 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 29 20 77 68 nator....-on....(*note.-on::).wh
48760 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 61 6c 75 65 ich.can.transform.the......value
48780 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 20 20 20 20 s.before.comparing.them.........
487a0 20 20 20 20 28 2d 6d 69 6e 2d 62 79 20 27 3e 20 27 28 34 20 33 20 36 20 31 29 29 0a 20 20 20 20 ....(-min-by.'>.'(4.3.6.1)).....
487c0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e ..............1...........(--min
487e0 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 20 27 28 28 -by.(>.(car.it).(car.other)).'((
48800 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 1.2.3).(2).(3.2)))..............
48820 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 69 6e 2d 62 79 .....(1.2.3)...........(--min-by
48840 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 29 20 .(>.(length.it).(length.other)).
48860 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 20 '((1.2.3).(2).(3.2)))...........
48880 20 20 20 20 e2 87 92 20 28 32 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 20 ........(2)...--.Function:.-max.
488a0 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 72 67 65 73 74 20 76 (list)......Return.the.largest.v
488c0 61 6c 75 65 20 66 72 6f 6d 20 4c 49 53 54 20 6f 66 20 6e 75 6d 62 65 72 73 20 6f 72 20 6d 61 72 alue.from.LIST.of.numbers.or.mar
488e0 6b 65 72 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 30 29 29 0a 20 20 20 kers.............(-max.'(0))....
48900 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 2d 6d 61 78 ...............0...........(-max
48920 20 27 28 33 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 20 .'(3.2.1))...................3..
48940 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 .........(-max.'(1.2.3))........
48960 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6d 61 78 ...........3...--.Function:.-max
48980 2d 62 79 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 20 20 20 54 61 6b 65 20 -by.(comparator.list)......Take.
489a0 61 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 43 4f 4d 50 41 52 41 54 4f 52 a.comparison.function.COMPARATOR
489c0 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 0a 20 20 20 20 20 .and.a.LIST.and.return.the......
489e0 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 62 79 20 greatest.element.of.the.list.by.
48a00 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 20 20 20 20 20 53 the.comparison.function........S
48a20 65 65 20 61 6c 73 6f 20 63 6f 6d 62 69 6e 61 74 6f 72 20 e2 80 98 2d 6f 6e e2 80 99 20 28 2a 6e ee.also.combinator....-on....(*n
48a40 6f 74 65 20 2d 6f 6e 3a 3a 29 20 77 68 69 63 68 20 63 61 6e 20 74 72 61 6e 73 66 6f 72 6d 20 74 ote.-on::).which.can.transform.t
48a60 68 65 0a 20 20 20 20 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 20 63 6f 6d 70 61 72 69 6e 67 20 he......values.before.comparing.
48a80 74 68 65 6d 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6d 61 78 2d 62 79 20 27 3e 20 27 28 34 them.............(-max-by.'>.'(4
48aa0 20 33 20 36 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 .3.6.1))...................6....
48ac0 20 20 20 20 20 20 20 28 2d 2d 6d 61 78 2d 62 79 20 28 3e 20 28 63 61 72 20 69 74 29 20 28 63 61 .......(--max-by.(>.(car.it).(ca
48ae0 72 20 6f 74 68 65 72 29 29 20 27 28 28 31 20 32 20 33 29 20 28 32 29 20 28 33 20 32 29 29 29 0a r.other)).'((1.2.3).(2).(3.2))).
48b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 29 0a 20 20 20 20 20 20 20 20 ..................(3.2).........
48b20 20 20 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 ..(--max-by.(>.(length.it).(leng
48b40 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)))
48b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 1f 0a 46 69 ...................(1.2.3)....Fi
48b80 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 2c le:.dash.info,..Node:.Unfolding,
48ba0 20 20 4e 65 78 74 3a 20 50 72 65 64 69 63 61 74 65 73 2c 20 20 50 72 65 76 3a 20 52 65 64 75 63 ..Next:.Predicates,..Prev:.Reduc
48bc0 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 35 20 55 6e 66 6f 6c tions,..Up:.Functions..2.5.Unfol
48be0 64 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 4f 70 65 72 61 74 69 6f 6e 73 20 64 ding.=============..Operations.d
48c00 75 61 6c 20 74 6f 20 72 65 64 75 63 74 69 6f 6e 73 2c 20 62 75 69 6c 64 69 6e 67 20 6c 69 73 74 ual.to.reductions,.building.list
48c20 73 20 66 72 6f 6d 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 72 61 74 68 65 72 0a 74 68 61 6e 20 s.from.a.seed.value.rather.than.
48c40 63 6f 6e 73 75 6d 69 6e 67 20 61 20 6c 69 73 74 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 69 consuming.a.list.to.produce.a.si
48c60 6e 67 6c 65 20 76 61 6c 75 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 ngle.value....--.Function:.-iter
48c80 61 74 65 20 28 66 75 6e 20 69 6e 69 74 20 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c ate.(fun.init.n)......Return.a.l
48ca0 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 6f 66 20 ist.of.iterated.applications.of.
48cc0 46 55 4e 20 74 6f 20 49 4e 49 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 61 20 FUN.to.INIT........This.means.a.
48ce0 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 28 49 4e 49 54 20 28 46 list.of.the.form:.......(INIT.(F
48d00 55 4e 20 49 4e 49 54 29 20 28 46 55 4e 20 28 46 55 4e 20 49 4e 49 54 29 29 20 2e 2e 2e 29 0a 0a UN.INIT).(FUN.(FUN.INIT))....)..
48d20 20 20 20 20 20 4e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 65 74 75 .....N.is.the.length.of.the.retu
48d40 72 6e 65 64 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 74 65 72 61 74 65 20 rned.list.............(-iterate.
48d60 23 27 31 2b 20 31 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 #'1+.1.10)...................(1.
48d80 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2.3.4.5.6.7.8.9.10)...........(-
48da0 69 74 65 72 61 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 78 29 29 20 32 20 35 iterate.(lambda.(x).(+.x.x)).2.5
48dc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 38 20 31 36 20 33 32 )...................(2.4.8.16.32
48de0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 74 65 72 61 74 65 20 28 2a 20 69 74 20 69 74 29 )...........(--iterate.(*.it.it)
48e00 20 32 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 34 20 31 36 20 .2.5)...................(2.4.16.
48e20 32 35 36 20 36 35 35 33 36 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 66 6f 6c 256.65536)...--.Function:.-unfol
48e40 64 20 28 66 75 6e 20 73 65 65 64 29 0a 20 20 20 20 20 42 75 69 6c 64 20 61 20 6c 69 73 74 20 66 d.(fun.seed)......Build.a.list.f
48e60 72 6f 6d 20 53 45 45 44 20 75 73 69 6e 67 20 46 55 4e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 rom.SEED.using.FUN........This.i
48e80 73 20 22 64 75 61 6c 22 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 e2 80 98 2d 72 65 64 75 63 65 s."dual".operation.to....-reduce
48ea0 2d 72 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 3a 3a 29 3a 20 77 68 69 6c 65 -r....(*note.-reduce-r::):.while
48ec0 0a 20 20 20 20 20 2d 72 65 64 75 63 65 2d 72 20 63 6f 6e 73 75 6d 65 73 20 61 20 6c 69 73 74 20 ......-reduce-r.consumes.a.list.
48ee0 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 e2 80 98 2d 75 to.produce.a.single.value,....-u
48f00 6e 66 6f 6c 64 e2 80 99 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 2d 75 6e 66 6f 6c 64 3a 3a 29 20 nfold.........(*note.-unfold::).
48f20 74 61 6b 65 73 20 61 20 73 65 65 64 20 76 61 6c 75 65 20 61 6e 64 20 62 75 69 6c 64 73 20 61 20 takes.a.seed.value.and.builds.a.
48f40 28 70 6f 74 65 6e 74 69 61 6c 6c 79 0a 20 20 20 20 20 69 6e 66 69 6e 69 74 65 21 29 20 20 6c 69 (potentially......infinite!)..li
48f60 73 74 2e 0a 0a 20 20 20 20 20 46 55 4e 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 e2 80 98 6e st........FUN.should.return....n
48f80 69 6c e2 80 99 20 74 6f 20 73 74 6f 70 20 74 68 65 20 67 65 6e 65 72 61 74 69 6e 67 20 70 72 6f il....to.stop.the.generating.pro
48fa0 63 65 73 73 2c 20 6f 72 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 28 41 20 2e 20 20 42 29 2c 20 77 cess,.or.a.cons......(A....B),.w
48fc0 68 65 72 65 20 41 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 here.A.will.be.prepended.to.the.
48fe0 72 65 73 75 6c 74 20 61 6e 64 20 42 20 69 73 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 73 65 65 result.and.B.is.the.new......see
49000 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 66 6f 6c 64 20 28 6c 61 6d 62 64 61 20 28 d.............(-unfold.(lambda.(
49020 78 29 20 28 75 6e 6c 65 73 73 20 28 3d 20 78 20 30 29 20 28 63 6f 6e 73 20 78 20 28 31 2d 20 78 x).(unless.(=.x.0).(cons.x.(1-.x
49040 29 29 29 29 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 30 20 39 )))).10)...................(10.9
49060 20 38 20 37 20 36 20 35 20 34 20 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 75 .8.7.6.5.4.3.2.1)...........(--u
49080 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 74 29 nfold.(when.it.(cons.it.(cdr.it)
490a0 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 )).'(1.2.3.4))..................
490c0 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 29 29 0a 20 .((1.2.3.4).(2.3.4).(3.4).(4))..
490e0 20 20 20 20 20 20 20 20 20 28 2d 2d 75 6e 66 6f 6c 64 20 28 77 68 65 6e 20 69 74 20 28 63 6f 6e .........(--unfold.(when.it.(con
49100 73 20 69 74 20 28 62 75 74 6c 61 73 74 20 69 74 29 29 29 20 27 28 31 20 32 20 33 20 34 29 29 0a s.it.(butlast.it))).'(1.2.3.4)).
49120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 20 34 29 20 28 31 20 ..................((1.2.3.4).(1.
49140 32 20 33 29 20 28 31 20 32 29 20 28 31 29 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 2.3).(1.2).(1))....File:.dash.in
49160 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 61 fo,..Node:.Predicates,..Next:.Pa
49180 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 55 rtitioning,..Prev:.Unfolding,..U
491a0 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 3d p:.Functions..2.6.Predicates.===
491c0 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 6f ===========..Reductions.of.one.o
491e0 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 2e r.more.lists.to.a.boolean.value.
49200 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 74 ...--.Function:.-some.(pred.list
49220 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 66 )......Return.(PRED.x).for.the.f
49240 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 73 irst.LIST.item.where.(PRED.x).is
49260 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 41 .non-nil,......else.nil........A
49280 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 6e lias:....-any...........This.fun
492a0 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 20 ction...s.anaphoric.counterpart.
492c0 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 6f is....--some................(-so
492e0 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 20 me.#'stringp.'(1."2".3))........
49300 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 28 ...........t...........(--some.(
49320 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 22 string-match-p."x".it).'("foo"."
49340 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 31 axe"."xor"))...................1
49360 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 33 ...........(--some.(=.it-index.3
49380 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 69 ).'(0.1.2))...................ni
493a0 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 69 l...--.Function:.-every.(pred.li
493c0 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 20 st)......Return.non-nil.if.PRED.
493e0 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 6e returns.non-nil.for.all.items.in
49400 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 6c .LIST...If......so,.return.the.l
49420 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 77 ast.such.result.of.PRED...Otherw
49440 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 65 ise,.once.an.item......is.reache
49460 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 65 d.for.which.PRED.returns.nil,.re
49480 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 52 turn.nil.without.calling......PR
494a0 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 2e ED.on.any.further.LIST.elements.
494c0 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 98 .......This.function.is.like....
494e0 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 75 -every-p...,.but.on.success.retu
49500 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 74 rns.the.last......non-nil.result
49520 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 20 .of.PRED.instead.of.just.t......
49540 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 6f ..This.function...s.anaphoric.co
49560 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 20 unterpart.is....--every.........
49580 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 33 .......(-every.#'numberp.'(1.2.3
495a0 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..........
495c0 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 74 .(--every.(string-match-p."x".it
495e0 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 20 ).'("axe"."xor"))...............
49600 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 69 ....0...........(--every.(=.it.i
49620 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 20 t-index).'(0.1.3))..............
49640 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 70 .....nil...--.Function:.-any?.(p
49660 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 44 red.list)......Return.t.if.(PRED
49680 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
496a0 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 79 ,.else.nil........Alias:....-any
496c0 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 e2 -p...,....-some?...,....-some-p.
496e0 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 27 ..............(-any?.#'numberp.'
49700 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 20 (nil.0.t))...................t..
49720 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 20 .........(-any?.#'numberp.'(nil.
49740 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 20 t.t))...................nil.....
49760 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 20 ......(-any?.#'null.'(1.3.5))...
49780 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
497a0 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 6e n:.-all?.(pred.list)......Return
497c0 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 6c .t.if.(PRED.X).is.non-nil.for.al
497e0 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 20 l.X.in.LIST,.else.nil...In......
49800 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 73 74 6f 70 20 61 66 74 65 72 20 74 68 65 20 the.latter.case,.stop.after.the.
49820 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 69 first.X.for.which.(PRED.X).is.ni
49840 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 20 l,......without.calling.PRED.on.
49860 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 2e any.subsequent.elements.of.LIST.
49880 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 2d .......The.similar.function....-
498a0 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 72 every....(*note.-every::).is.mor
498c0 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 72 e.widely......useful,.since.it.r
498e0 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 6f eturns.the.last.non-nil.result.o
49900 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 6e f.PRED.instead.of......just.t.on
49920 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 70 .success........Alias:....-all-p
49940 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 e2 ...,....-every-p...,....-every?.
49960 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 70 ..........This.function...s.anap
49980 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 80 horic.counterpart.is....--all?..
499a0 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 27 ..............(-all?.#'numberp.'
499c0 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 20 (1.2.3))...................t....
499e0 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 29 .......(-all?.#'numberp.'(2.t.6)
49a00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 )...................nil.........
49a20 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 36 ..(--all?.(=.0.(%.it.2)).'(2.4.6
49a40 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
49a60 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 65 tion:.-none?.(pred.list)......Re
49a80 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 6c turn.t.if.(PRED.x).is.nil.for.al
49aa0 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 69 l.x.in.LIST,.else.nil........Ali
49ac0 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 6e as:....-none-p...............(-n
49ae0 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 20 one?.'even?.'(1.2.3))...........
49b00 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 65 ........nil...........(-none?.'e
49b20 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 92 ven?.'(1.3.5))..................
49b40 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 74 .t...........(--none?.(=.0.(%.it
49b60 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 92 .2)).'(1.2.3))..................
49b80 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 20 .nil...--.Function:.-only-some?.
49ba0 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 20 (pred.list)......Return....t....
49bc0 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 74 if.at.least.one.item.of.LIST.mat
49be0 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 20 ches.PRED.and.at.least......one.
49c00 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 44 item.of.LIST.does.not.match.PRED
49c20 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 0a ...Return....nil....both.if.all.
49c40 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 6f .....items.match.the.predicate.o
49c60 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 65 r.if.none.of.the.items.match.the
49c80 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 80 ......predicate........Alias:...
49ca0 98 2d 6f 6e 6c 79 2d 73 6f 6d 65 2d 70 e2 80 99 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e .-only-some-p...............(-on
49cc0 6c 79 2d 73 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 ly-some?.'even?.'(1.2.3)).......
49ce0 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 ............t...........(-only-s
49d00 6f 6d 65 3f 20 27 65 76 65 6e 3f 20 27 28 31 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 ome?.'even?.'(1.3.5))...........
49d20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6f 6e 6c 79 2d 73 6f 6d ........nil...........(-only-som
49d40 65 3f 20 27 65 76 65 6e 3f 20 27 28 32 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 e?.'even?.'(2.4.6)).............
49d60 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6f 6e 74 61 69 ......nil...--.Function:.-contai
49d80 6e 73 3f 20 28 6c 69 73 74 20 65 6c 65 6d 65 6e 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e ns?.(list.element)......Return.n
49da0 6f 6e 2d 6e 69 6c 20 69 66 20 4c 49 53 54 20 63 6f 6e 74 61 69 6e 73 20 45 4c 45 4d 45 4e 54 2e on-nil.if.LIST.contains.ELEMENT.
49dc0 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 20 .......The.test.for.equality.is.
49de0 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 e2 done.with....equal...,.or.with..
49e00 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 99 ..-compare-fn.........if.that...
49e20 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 74 s.non-nil........Alias:....-cont
49e40 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 3f ains-p...............(-contains?
49e60 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 74 .'(1.2.3).1)...................t
49e80 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 20 ...........(-contains?.'(1.2.3).
49ea0 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 20 2)...................t..........
49ec0 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 20 .(-contains?.'(1.2.3).4)........
49ee0 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 73 ...........nil...--.Function:.-s
49f00 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 74 ame-items?.(list.list2)......Ret
49f20 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 74 urn.true.if.LIST.and.LIST2.has.t
49f40 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 6f he.same.items........The.order.o
49f60 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 73 f.the.elements.in.the.lists.does
49f80 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 61 .not.matter........Alias:....-sa
49fa0 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 2d me-items-p...............(-same-
49fc0 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 20 items?.'(1.2.3).'(1.2.3)).......
49fe0 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
4a000 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 20 tems?.'(1.2.3).'(3.2.1))........
4a020 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 74 ...........t...........(-same-it
4a040 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 20 ems?.'(1.2.3).'(1.2.3.4)).......
4a060 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:.-
4a080 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 65 is-prefix?.(prefix.list)......Re
4a0a0 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 66 turn.non-nil.if.PREFIX.is.a.pref
4a0c0 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 2d ix.of.LIST........Alias:....-is-
4a0e0 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 65 prefix-p................(-is-pre
4a100 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 20 fix?.'(1.2.3).'(1.2.3.4.5)).....
4a120 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 70 ..............t...........(-is-p
4a140 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 20 refix?.'(1.2.3.4.5).'(1.2.3))...
4a160 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................nil...........(-
4a180 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 0a is-prefix?.'(1.3).'(1.2.3.4.5)).
4a1a0 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 74 ..................nil...--.Funct
4a1c0 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 20 ion:.-is-suffix?.(suffix.list)..
4a1e0 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 20 ....Return.non-nil.if.SUFFIX.is.
4a200 61 20 73 75 66 66 69 78 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 a.suffix.of.LIST........Alias:..
4a220 80 98 2d 69 73 2d 73 75 66 66 69 78 2d 70 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d ..-is-suffix-p................(-
4a240 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 34 20 35 29 20 27 28 31 20 32 20 33 20 34 20 35 29 is-suffix?.'(3.4.5).'(1.2.3.4.5)
4a260 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 )...................t...........
4a280 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 31 20 32 20 33 20 34 20 35 29 20 27 28 33 20 34 20 (-is-suffix?.'(1.2.3.4.5).'(3.4.
4a2a0 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 5))...................nil.......
4a2c0 20 20 20 20 28 2d 69 73 2d 73 75 66 66 69 78 3f 20 27 28 33 20 35 29 20 27 28 31 20 32 20 33 20 ....(-is-suffix?.'(3.5).'(1.2.3.
4a2e0 34 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 2d 2d 4.5))...................nil...--
4a300 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 73 2d 69 6e 66 69 78 3f 20 28 69 6e 66 69 78 20 6c 69 73 .Function:.-is-infix?.(infix.lis
4a320 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 20 t)......Return.non-nil.if.INFIX.
4a340 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 65 is.infix.of.LIST........This.ope
4a360 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 20 ration.runs.in.O(n^2).time......
4a380 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 20 .Alias:....-is-infix-p..........
4a3a0 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 20 .....(-is-infix?.'(1.2.3).'(1.2.
4a3c0 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 20 3.4.5))...................t.....
4a3e0 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 32 ......(-is-infix?.'(2.3.4).'(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 33 20 34 20 35 29 20 27 28 31 20 .......(-is-infix?.'(3.4.5).'(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 0a 20 2.3.4.5))...................t...
4a460 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 20 --.Function:.-cons-pair?.(obj)..
4a480 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 74 ....Return.non-nil.if.OBJ.is.a.t
4a4a0 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 20 rue.cons.pair...That.is,.a.cons.
4a4c0 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 69 (A........B).where.B.is.not.a.li
4a4e0 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 70 st........Alias:....-cons-pair-p
4a500 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 31 ................(-cons-pair?.'(1
4a520 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 20 ...2))...................t......
4a540 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 20 .....(-cons-pair?.'(1.2)).......
4a560 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 73 ............nil...........(-cons
4a580 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 6e -pair?.'(1))...................n
4a5a0 69 6c 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 61 il....File:.dash.info,..Node:.Pa
4a5c0 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 67 2c 20 20 50 72 rtitioning,..Next:.Indexing,..Pr
4a5e0 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 69 6f 6e 73 0a 0a ev:.Predicates,..Up:.Functions..
4a600 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 3d 3d 3d 3d 3d 3d 2.7.Partitioning.===============
4a620 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 74 68 65 20 69 6e =..Functions.partitioning.the.in
4a640 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 73 2e 0a 0a put.list.into.a.list.of.lists...
4a660 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 20 6c 69 73 74 29 .--.Function:.-split-at.(n.list)
4a680 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 73 75 62 6c 69 73 ......Split.LIST.into.two.sublis
4a6a0 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 20 54 68 65 20 72 ts.after.the.Nth.element...The.r
4a6c0 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 6f 20 65 6c 65 6d esult.is......a.list.of.two.elem
4a6e0 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 45 20 69 73 20 61 ents.(TAKE.DROP).where.TAKE.is.a
4a700 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 74 20 4e 20 65 6c .new.list.of.the......first.N.el
4a720 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 73 20 74 68 65 20 ements.of.LIST,.and.DROP.is.the.
4a740 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 20 4c 49 53 54 20 remaining.elements.of......LIST.
4a760 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 4f 50 20 61 72 65 (not.a.copy)...TAKE.and.DROP.are
4a780 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 61 6b 65 e2 80 99 .like.the.results.of....-take...
4a7a0 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 e2 80 98 2d 64 72 ......(*note.-take::).and....-dr
4a7c0 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 70 65 63 74 69 76 op....(*note.-drop::),.respectiv
4a7e0 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 20 64 6f 6e 65 20 ely,.but.the......split.is.done.
4a800 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 0a 0a 20 20 20 in.a.single.list.traversal......
4a820 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 33 20 34 20 35 29 .......(-split-at.3.'(1.2.3.4.5)
4a840 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.
4a860 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 37 20 27 28 31 20 5))...........(-split-at.17.'(1.
4a880 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 28 31 20 2.3.4.5))...................((1.
4a8a0 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 73 70 6c 69 74 2d 2.3.4.5).nil)...........(-split-
4a8c0 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 20 20 20 20 20 20 at.0.'(1.2.3.4.5))..............
4a8e0 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 2d 20 46 75 6e 63 .....(nil.(1.2.3.4.5))...--.Func
4a900 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 73 74 29 0a 20 20 tion:.-split-with.(pred.list)...
4a920 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 65 2d 77 68 69 6c ...Return.a.list.of.((-take-whil
4a940 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 50 52 45 44 20 4c e.PRED.LIST).(-drop-while.PRED.L
4a960 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 6e 20 6f 6e 65 20 IST)),......in.no.more.than.one.
4a980 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 20 20 20 20 20 20 pass.through.the.list...........
4a9a0 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 32 20 33 20 34 29 ..(-split-with.'even?.'(1.2.3.4)
4a9c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 28 31 20 32 20 33 20 )...................(nil.(1.2.3.
4a9e0 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 20 27 65 76 65 6e 4))...........(-split-with.'even
4aa00 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 87 92 20 ?.'(2.4.5.6))...................
4aa20 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 2d 73 70 6c 69 74 ((2.4).(5.6))...........(--split
4aa40 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 20 32 20 31 29 29 -with.(<.it.4).'(1.2.3.4.3.2.1))
4aa60 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 33 ...................((1.2.3).(4.3
4aa80 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 6f 6e 20 28 69 74 .2.1))...--.Macro:.-split-on.(it
4aaa0 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 53 54 20 65 61 63 em.list)......Split.the.LIST.eac
4aac0 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 20 20 55 6e 6c 69 h.time.ITEM.is.found........Unli
4aae0 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 6f 74 65 20 2d 70 ke....-partition-by....(*note.-p
4ab00 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 73 0a 20 20 20 20 artition-by::),.the.ITEM.is.....
4ab20 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d .discarded.from.the.results...Em
4ab40 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 66 72 6f 6d 20 pty.lists.are.also.removed.from.
4ab60 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 70 61 72 69 73 6f the......result........Compariso
4ab80 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 0a 20 20 20 20 20 n.is.done.by....equal...........
4aba0 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 20 28 2a 6e 6f 74 See.also....-split-when....(*not
4abc0 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 20 20 28 2d 73 70 e.-split-when::)............(-sp
4abe0 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 4e 6f 64 65 20 lit-on.'|.'(Nil.|.Leaf.a.|.Node.
4ac00 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 87 92 20 28 28 4e [Tree.a]))...................((N
4ac20 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 5d 29 29 0a 20 20 il).(Leaf.a).(Node.[Tree.a]))...
4ac40 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 75 70 20 27 28 22 ........(-split-on.:endgroup.'("
4ac60 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 72 6f 75 70 20 22 a"."b".:endgroup."c".:endgroup."
4ac80 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 20 28 28 22 61 22 d"."e"))...................(("a"
4aca0 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 20 20 20 20 20 20 ."b").("c").("d"."e"))..........
4acc0 20 28 2d 73 70 6c 69 74 2d 6f 6e 20 3a 65 6e 64 67 72 6f 75 70 20 27 28 22 61 22 20 22 62 22 20 .(-split-on.:endgroup.'("a"."b".
4ace0 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 22 29 29 0a 20 20 :endgroup.:endgroup."d"."e"))...
4ad00 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 20 28 22 64 22 20 ................(("a"."b").("d".
4ad20 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 74 2d 77 68 65 6e "e"))...--.Function:.-split-when
4ad40 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 4c 49 53 54 20 6f .(fn.list)......Split.the.LIST.o
4ad60 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 74 75 72 6e 73 20 n.each.element.where.FN.returns.
4ad80 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 70 61 72 74 69 74 non-nil........Unlike....-partit
4ada0 69 6f 6e 2d 62 79 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 3a 3a ion-by....(*note.-partition-by::
4adc0 29 2c 20 74 68 65 20 22 6d 61 74 63 68 65 64 22 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 73 ),.the."matched"......element.is
4ade0 20 64 69 73 63 61 72 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 45 6d .discarded.from.the.results...Em
4ae00 70 74 79 20 6c 69 73 74 73 20 61 72 65 20 61 6c 73 6f 0a 20 20 20 20 20 72 65 6d 6f 76 65 64 20 pty.lists.are.also......removed.
4ae20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 from.the.result........This.func
4ae40 74 69 6f 6e 20 63 61 6e 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 61 20 67 65 6e 65 tion.can.be.thought.of.as.a.gene
4ae60 72 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 ralization.of.........split-stri
4ae80 6e 67 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 70 6c 69 74 2d 77 68 65 6e 20 27 ng................(-split-when.'
4aea0 65 76 65 6e 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 even?.'(1.2.3.4.5.6))...........
4aec0 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 20 28 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 ........((1).(3).(5))...........
4aee0 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 20 (-split-when.'even?.'(1.2.3.4.6.
4af00 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 33 29 8.9))...................((1).(3)
4af20 20 28 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 73 70 6c 69 74 2d 77 68 65 6e 20 28 6d .(9))...........(--split-when.(m
4af40 65 6d 71 20 69 74 20 27 28 26 6f 70 74 69 6f 6e 61 6c 20 26 72 65 73 74 29 29 20 27 28 61 20 62 emq.it.'(&optional.&rest)).'(a.b
4af60 20 26 6f 70 74 69 6f 6e 61 6c 20 63 20 64 20 26 72 65 73 74 20 61 72 67 73 29 29 0a 20 20 20 20 .&optional.c.d.&rest.args)).....
4af80 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 29 20 28 63 20 64 29 20 28 61 72 67 73 ..............((a.b).(c.d).(args
4afa0 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 70 61 72 61 74 65 20 28 70 72 65 ))...--.Function:.-separate.(pre
4afc0 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 20 6f 66 20 28 28 d.list)......Return.a.list.of.((
4afe0 2d 66 69 6c 74 65 72 20 50 52 45 44 20 4c 49 53 54 29 20 28 2d 72 65 6d 6f 76 65 20 50 52 45 44 -filter.PRED.LIST).(-remove.PRED
4b000 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 74 68 72 6f 75 67 .LIST)),.in.one......pass.throug
4b020 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 65 70 61 72 61 74 h.the.list.............(-separat
4b040 65 20 28 6c 61 6d 62 64 61 20 28 6e 75 6d 29 20 28 3d 20 30 20 28 25 20 6e 75 6d 20 32 29 29 29 e.(lambda.(num).(=.0.(%.num.2)))
4b060 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))..............
4b080 20 e2 87 92 20 28 28 32 20 34 20 36 29 20 28 31 20 33 20 35 20 37 29 29 0a 20 20 20 20 20 20 20 .....((2.4.6).(1.3.5.7))........
4b0a0 20 20 20 28 2d 2d 73 65 70 61 72 61 74 65 20 28 3c 20 69 74 20 35 29 20 27 28 33 20 37 20 35 20 ...(--separate.(<.it.5).'(3.7.5.
4b0c0 39 20 33 20 32 20 31 20 34 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 9.3.2.1.4.6))...................
4b0e0 28 28 33 20 33 20 32 20 31 20 34 29 20 28 37 20 35 20 39 20 36 29 29 0a 20 20 20 20 20 20 20 20 ((3.3.2.1.4).(7.5.9.6)).........
4b100 20 20 28 2d 73 65 70 61 72 61 74 65 20 27 63 64 72 20 27 28 28 31 20 32 29 20 28 31 29 20 28 31 ..(-separate.'cdr.'((1.2).(1).(1
4b120 20 32 20 33 29 20 28 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 .2.3).(4)))...................((
4b140 28 31 20 32 29 20 28 31 20 32 20 33 29 29 20 28 28 31 29 20 28 34 29 29 29 0a 0a 20 2d 2d 20 46 (1.2).(1.2.3)).((1).(4)))...--.F
4b160 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 20 28 6e 20 6c 69 73 74 29 0a 20 20 20 unction:.-partition.(n.list)....
4b180 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 74 68 65 20 69 74 65 ..Return.a.new.list.with.the.ite
4b1a0 6d 73 20 69 6e 20 4c 49 53 54 20 67 72 6f 75 70 65 64 20 69 6e 74 6f 20 4e 2d 73 69 7a 65 64 0a ms.in.LIST.grouped.into.N-sized.
4b1c0 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 .....sublists...If.there.are.not
4b1e0 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6c 61 73 74 20 67 .enough.items.to.make.the.last.g
4b200 72 6f 75 70 0a 20 20 20 20 20 4e 2d 73 69 7a 65 64 2c 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 roup......N-sized,.those.items.a
4b220 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 re.discarded.............(-parti
4b240 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 tion.2.'(1.2.3.4.5.6))..........
4b260 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 .........((1.2).(3.4).(5.6))....
4b280 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 20 32 20 27 28 31 20 32 20 33 20 34 20 35 .......(-partition.2.'(1.2.3.4.5
4b2a0 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 .6.7))...................((1.2).
4b2c0 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 (3.4).(5.6))...........(-partiti
4b2e0 6f 6e 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 on.3.'(1.2.3.4.5.6.7))..........
4b300 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d 20 .........((1.2.3).(4.5.6))...--.
4b320 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 28 6e 20 6c 69 73 74 Function:.-partition-all.(n.list
4b340 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 68 )......Return.a.new.list.with.th
4b360 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
4b380 69 7a 65 64 0a 20 20 20 20 20 73 75 62 6c 69 73 74 73 2e 20 20 54 68 65 20 6c 61 73 74 20 67 72 ized......sublists...The.last.gr
4b3a0 6f 75 70 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 6c 65 73 73 20 74 68 61 6e 20 4e 20 69 74 65 6d oup.may.contain.less.than.N.item
4b3c0 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 s.............(-partition-all.2.
4b3e0 27 28 31 20 32 20 33 20 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 '(1.2.3.4.5.6)).................
4b400 92 20 28 28 31 20 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..((1.2).(3.4).(5.6))...........
4b420 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 20 32 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 (-partition-all.2.'(1.2.3.4.5.6.
4b440 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 33 20 7))...................((1.2).(3.
4b460 34 29 20 28 35 20 36 29 20 28 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 4).(5.6).(7))...........(-partit
4b480 69 6f 6e 2d 61 6c 6c 20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 ion-all.3.'(1.2.3.4.5.6.7)).....
4b4a0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 34 20 35 20 36 29 20 28 ..............((1.2.3).(4.5.6).(
4b4c0 37 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 7))...--.Function:.-partition-in
4b4e0 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 52 65 74 75 72 6e -steps.(n.step.list)......Return
4b500 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
4b520 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 20 20 20 73 75 62 ST.grouped.into.N-sized......sub
4b540 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 74 2e 20 20 49 66 lists.at.offsets.STEP.apart...If
4b560 20 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 74 65 6d 73 20 74 6f 0a 20 .there.are.not.enough.items.to..
4b580 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 73 69 7a 65 64 2c ....make.the.last.group.N-sized,
4b5a0 20 74 68 6f 73 65 20 69 74 65 6d 73 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 20 20 .those.items.are.discarded......
4b5c0 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 73 20 32 20 31 20 .......(-partition-in-steps.2.1.
4b5e0 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 28 '(1.2.3.4))...................((
4b600 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 20 20 28 2d 70 61 1.2).(2.3).(3.4))...........(-pa
4b620 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))
4b640 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 29 0a 20 20 20 ...................((1.2.3))....
4b660 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 73 20 33 20 32 20 .......(-partition-in-steps.3.2.
4b680 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))...................
4b6a0 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 63 74 69 6f 6e 3a ((1.2.3).(3.4.5))...--.Function:
4b6c0 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 6e 20 73 74 65 70 .-partition-all-in-steps.(n.step
4b6e0 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 69 .list)......Return.a.new.list.wi
4b700 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 74 th.the.items.in.LIST.grouped.int
4b720 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 20 6f 66 66 73 65 o.N-sized......sublists.at.offse
4b740 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 72 6f 75 70 73 20 ts.STEP.apart...The.last.groups.
4b760 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 20 4e 20 69 74 65 may.contain.less......than.N.ite
4b780 6d 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 ms.............(-partition-all-i
4b7a0 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 20 20 20 20 n-steps.2.1.'(1.2.3.4)).........
4b7c0 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 34 29 20 28 34 29 ..........((1.2).(2.3).(3.4).(4)
4b7e0 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 6c 2d 69 6e 2d 73 )...........(-partition-all-in-s
4b800 74 65 70 73 20 33 20 32 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 teps.3.2.'(1.2.3.4))............
4b820 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 20 20 20 20 20 20 .......((1.2.3).(3.4))..........
4b840 20 28 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 20 33 20 32 20 27 28 .(-partition-all-in-steps.3.2.'(
4b860 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 28 1.2.3.4.5))...................((
4b880 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 75 6e 63 74 69 6f 1.2.3).(3.4.5).(5))...--.Functio
4b8a0 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 0a 20 20 20 20 20 n:.-partition-by.(fn.list)......
4b8c0 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 54 2c 20 73 Apply.FN.to.each.item.in.LIST,.s
4b8e0 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 75 72 6e 73 plitting.it.each.time.FN.returns
4b900 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 20 20 20 20 28 2d .a......new.value.............(-
4b920 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 20 20 20 20 partition-by.'even?.()).........
4b940 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 74 69 74 69 ..........()...........(-partiti
4b960 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 20 34 20 36 20 38 on-by.'even?.'(1.1.2.2.2.3.4.6.8
4b980 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 29 20 28 32 20 32 ))...................((1.1).(2.2
4b9a0 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 20 28 2d 2d 70 61 .2).(3).(4.6.8))...........(--pa
4b9c0 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 33 20 rtition-by.(<.it.3).'(1.2.3.4.3.
4b9e0 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 29 20 28 2.1))...................((1.2).(
4ba00 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 6e 3a 20 2d 70 61 3.4.3).(2.1))...--.Function:.-pa
4ba20 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 20 20 20 20 rtition-by-header.(fn.list).....
4ba40 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 6d 20 69 6e 20 4c .Apply.FN.to.the.first.item.in.L
4ba60 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 61 6c 75 65 2e 0a IST...That.is.the.header.value..
4ba80 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 49 .....Apply.FN.to.each.item.in.LI
4baa0 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 65 ST,.splitting.it.each.time.FN.re
4bac0 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 65 2c 20 62 75 74 turns......the.header.value,.but
4bae0 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 20 6f 6e 65 20 .only.after.seeing.at.least.one.
4bb00 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 29 2e 0a 0a 20 20 other.value......(the.body).....
4bb20 20 20 20 20 20 20 20 20 28 2d 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 20 28 ........(--partition-by-header.(
4bb40 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 29 29 0a 20 20 =.it.1).'(1.2.3.1.2.1.2.3.4))...
4bb60 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 31 20 32 29 20 28 ................((1.2.3).(1.2).(
4bb80 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 74 69 74 69 6f 6e 1.2.3.4))...........(--partition
4bba0 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 30 20 31 20 30 20 -by-header.(>.it.0).'(1.2.0.1.0.
4bbc0 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 92 20 28 28 31 20 1.2.3.0))...................((1.
4bbe0 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 20 20 20 20 20 20 2.0).(1.0).(1.2.3.0))...........
4bc00 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 6e 3f 20 27 28 32 (-partition-by-header.'even?.'(2
4bc20 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 20 20 20 20 20 20 .1.1.1.4.1.3.5.6.6.1))..........
4bc40 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 20 35 29 20 28 36 .........((2.1.1.1).(4.1.3.5).(6
4bc60 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 74 69 74 69 6f 6e .6.1))...--.Function:.-partition
4bc80 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 20 20 20 50 61 72 -after-pred.(pred.list)......Par
4bca0 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 20 66 tition.LIST.after.each.element.f
4bcc0 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 2e 0a 0a or.which.PRED.returns.non-nil...
4bce0 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
4bd00 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 74 69 6f 6e 2d 61 .counterpart.is....--partition-a
4bd20 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 2d 70 61 72 74 69 fter-pred................(-parti
4bd40 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 28 29 29 0a 20 tion-after-pred.#'booleanp.())..
4bd60 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 2d .................()...........(-
4bd80 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 20 partition-after-pred.#'booleanp.
4bda0 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 28 28 74 29 20 28 '(t.t))...................((t).(
4bdc0 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 61 66 74 65 72 2d t))...........(-partition-after-
4bde0 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 30 20 74 29 29 0a pred.#'booleanp.'(0.0.t.t.0.t)).
4be00 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 20 28 74 29 20 28 ..................((0.0.t).(t).(
4be20 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 69 74 69 6f 6e 2d 0.t))...--.Function:.-partition-
4be40 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 20 20 20 50 61 72 before-pred.(pred.list)......Par
4be60 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 69 6d 65 tition.directly.before.each.time
4be80 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 74 20 6f 66 0a 20 .PRED.is.true.on.an.element.of..
4bea0 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 74 69 74 69 6f 6e ....LIST.............(-partition
4bec0 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 29 0a 20 20 20 20 -before-pred.#'booleanp.()).....
4bee0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 72 ..............()...........(-par
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 27 28 tition-before-pred.#'booleanp.'(
4bf20 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 29 20 28 74 29 0.t))...................((0).(t)
4bf40 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 66 6f 72 65 2d 70 )...........(-partition-before-p
4bf60 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 20 74 29 29 0a 20 red.#'booleanp.'(0.0.t.0.t.t))..
4bf80 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 20 30 29 20 28 74 .................((0.0).(t.0).(t
4bfa0 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 74 69 74 69 6f 6e ).(t))...--.Function:.-partition
4bfc0 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 20 20 20 50 61 -before-item.(item.list)......Pa
4bfe0 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 69 6d rtition.directly.before.each.tim
4c000 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 20 20 20 20 20 20 e.ITEM.appears.in.LIST..........
4c020 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 28 29 29 ...(-partition-before-item.3.())
4c040 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 ...................()...........
4c060 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 29 0a (-partition-before-item.3.'(1)).
4c080 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 20 20 20 20 20 20 ..................((1)).........
4c0a0 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 27 28 33 29 ..(-partition-before-item.3.'(3)
4c0c0 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 0a 20 2d 2d 20 46 )...................((3))...--.F
4c0e0 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 69 74 65 6d 20 28 unction:.-partition-after-item.(
4c100 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 64 69 72 65 63 74 item.list)......Partition.direct
4c120 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 70 65 61 72 73 20 ly.after.each.time.ITEM.appears.
4c140 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 69 74 69 6f 6e 2d in.LIST.............(-partition-
4c160 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 20 20 20 20 20 e2 after-item.3.())................
4c180 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 6e 2d 61 66 74 65 ...()...........(-partition-afte
4c1a0 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 20 20 20 e2 87 92 r-item.3.'(1))..................
4c1c0 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 6f 6e 2d 61 66 74 .((1))...........(-partition-aft
4c1e0 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 20 20 20 20 e2 87 er-item.3.'(3)).................
4c200 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 6f 75 70 2d 62 79 ..((3))...--.Function:.-group-by
4c220 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 49 53 54 20 69 6e .(fn.list)......Separate.LIST.in
4c240 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 20 46 4e 20 61 70 to.an.alist.whose.keys.are.FN.ap
4c260 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 20 6f 66 20 4c 49 plied.to.the......elements.of.LI
4c280 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 e2 80 98 65 71 75 ST...Keys.are.compared.by....equ
4c2a0 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 62 79 20 27 65 76 al................(-group-by.'ev
4c2c0 65 6e 3f 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 en?.())...................()....
4c2e0 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 28 31 20 31 20 32 .......(-group-by.'even?.'(1.1.2
4c300 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 20 20 20 e2 87 92 .2.2.3.4.6.8))..................
4c320 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 20 38 29 29 0a 20 .((nil.1.1.3).(t.2.2.2.4.6.8))..
4c340 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 28 73 70 6c 69 74 .........(--group-by.(car.(split
4c360 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 20 22 -string.it."/")).'("a/b"."c/d"."
4c380 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 28 22 61 22 20 22 a/e"))...................(("a"."
4c3a0 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 1f 0a 46 69 6c 65 a/b"."a/e").("c"."c/d"))....File
4c3c0 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 4e :.dash.info,..Node:.Indexing,..N
4c3e0 65 78 74 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 50 61 72 74 ext:.Set.operations,..Prev:.Part
4c400 69 74 69 6f 6e 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 38 20 49 6e itioning,..Up:.Functions..2.8.In
4c420 64 65 78 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 72 dexing.============..Functions.r
4c440 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 6c 69 etrieving.or.sorting.based.on.li
4c460 73 74 20 69 6e 64 69 63 65 73 20 61 6e 64 20 72 65 6c 61 74 65 64 0a 70 72 65 64 69 63 61 74 65 st.indices.and.related.predicate
4c480 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 28 65 s....--.Function:.-elem-index.(e
4c4a0 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 lem.list)......Return.the.index.
4c4c0 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 65 20 67 69 76 65 of.the.first.element.in.the.give
4c4e0 6e 20 4c 49 53 54 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 65 71 75 61 6c 20 74 6f 20 74 68 n.LIST.which.is......equal.to.th
4c500 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 69 66 20 e.query.element.ELEM,.or.nil.if.
4c520 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a there.is.no.such......element...
4c540 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 32 20 27 28 36 20 37 20 38 ..........(-elem-index.2.'(6.7.8
4c560 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 0a 20 20 20 .2.3.4))...................3....
4c580 20 20 20 20 20 20 20 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 .......(-elem-index."bar".'("foo
4c5a0 22 20 22 62 61 72 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 "."bar"."baz")).................
4c5c0 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 65 78 20 27 28 31 20 32 ..1...........(-elem-index.'(1.2
4c5e0 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 20 20 ).'((3).(5.6).(1.2).nil)).......
4c600 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 65 6c ............2...--.Function:.-el
4c620 65 6d 2d 69 6e 64 69 63 65 73 20 28 65 6c 65 6d 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 em-indices.(elem.list)......Retu
4c640 72 6e 20 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 rn.the.indices.of.all.elements.i
4c660 6e 20 4c 49 53 54 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 71 75 65 72 79 0a 20 20 20 20 20 65 n.LIST.equal.to.the.query......e
4c680 6c 65 6d 65 6e 74 20 45 4c 45 4d 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e lement.ELEM,.in.ascending.order.
4c6a0 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 20 32 20 27 28 36 ............(-elem-indices.2.'(6
4c6c0 20 37 20 38 20 32 20 33 20 34 20 32 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .7.8.2.3.4.2.1))................
4c6e0 87 92 20 28 33 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 ...(3.6)...........(-elem-indice
4c700 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 0a 20 20 s."bar".'("foo"."bar"."baz"))...
4c720 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d ................(1)...........(-
4c740 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).
4c760 28 35 20 36 29 20 28 31 20 32 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (5.6).(1.2).nil))...............
4c780 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 66 69 6e 64 2d 69 ....(1.3)...--.Function:.-find-i
4c7a0 6e 64 65 78 20 28 70 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 ndex.(pred.list)......Take.a.pre
4c7c0 64 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 dicate.PRED.and.a.LIST.and.retur
4c7e0 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 65 6c n.the.index.of.the.first......el
4c800 65 6d 65 6e 74 20 69 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 ement.in.the.list.satisfying.the
4c820 20 70 72 65 64 69 63 61 74 65 2c 20 6f 72 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e .predicate,.or.nil.if.there.is.n
4c840 6f 0a 20 20 20 20 20 73 75 63 68 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 o......such.element........See.a
4c860 6c 73 6f 20 e2 80 98 2d 66 69 72 73 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 72 73 74 3a 3a lso....-first....(*note.-first::
4c880 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 65 78 20 27 65 76 65 6e ).............(-find-index.'even
4c8a0 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 20 20 20 20 20 20 ?.'(2.4.1.6.3.3.5.8))...........
4c8c0 20 20 20 20 e2 87 92 20 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 6e 64 65 ........0...........(--find-inde
4c8e0 78 20 28 3c 20 35 20 69 74 29 20 27 28 32 20 34 20 31 20 36 20 33 20 33 20 35 20 38 29 29 0a 20 x.(<.5.it).'(2.4.1.6.3.3.5.8))..
4c900 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 28 2d 66 .................3...........(-f
4c920 69 6e 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 ind-index.(-partial.'string-less
4c940 70 20 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 0a 20 p."baz").'("bar"."foo"."baz"))..
4c960 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 69 6f 6e .................1...--.Function
4c980 3a 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 69 73 74 29 0a 20 :.-find-last-index.(pred.list)..
4c9a0 20 20 20 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 ....Take.a.predicate.PRED.and.a.
4c9c0 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
4c9e0 20 6c 61 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 .last......element.in.the.list.s
4ca00 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 6c 20 atisfying.the.predicate,.or.nil.
4ca20 69 66 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 if.there.is.no......such.element
4ca40 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 20 e2 80 98 2d 6c 61 73 74 e2 80 99 20 28 2a 6e ........See.also....-last....(*n
4ca60 6f 74 65 20 2d 6c 61 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 ote.-last::).............(-find-
4ca80 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 20 33 20 33 20 last-index.'even?.'(2.4.1.6.3.3.
4caa0 35 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 5.8))...................7.......
4cac0 20 20 20 20 28 2d 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e 64 65 78 20 28 3c 20 35 20 69 74 29 20 ....(--find-last-index.(<.5.it).
4cae0 27 28 32 20 37 20 31 20 36 20 33 20 38 20 35 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 '(2.7.1.6.3.8.5.2)).............
4cb00 20 20 e2 87 92 20 35 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ......5...........(-find-last-in
4cb20 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 22 62 61 7a dex.(-partial.'string-lessp."baz
4cb40 22 29 20 27 28 22 71 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 ").'("q"."foo"."baz"))..........
4cb60 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 66 69 6e 64 2d .........1...--.Function:.-find-
4cb80 69 6e 64 69 63 65 73 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 indices.(pred.list)......Return.
4cba0 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 4c the.indices.of.all.elements.in.L
4cbc0 49 53 54 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 0a 20 20 20 IST.satisfying.the.predicate....
4cbe0 20 20 50 52 45 44 2c 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 ..PRED,.in.ascending.order......
4cc00 20 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 27 65 76 65 6e 3f 20 27 28 32 .......(-find-indices.'even?.'(2
4cc20 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))................
4cc40 87 92 20 28 30 20 31 20 33 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 6e 64 2d 69 ...(0.1.3.7)...........(--find-i
4cc60 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 35 20 ndices.(<.5.it).'(2.4.1.6.3.3.5.
4cc80 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 37 29 0a 20 20 20 20 8))...................(3.7).....
4cca0 20 20 20 20 20 20 28 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 20 28 2d 70 61 72 74 69 61 6c 20 27 ......(-find-indices.(-partial.'
4ccc0 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
4cce0 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 28 31 29 0a "."baz"))...................(1).
4cd00 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 75 70 20 28 63 6f 6d 70 61 72 ..--.Function:.-grade-up.(compar
4cd20 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 74 73 20 6f ator.list)......Grade.elements.o
4cd40 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 74 69 6f 6e f.LIST.using.COMPARATOR.relation
4cd60 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 61 74 69 6f ...This.yields.a......permutatio
4cd80 6e 20 76 65 63 74 6f 72 20 73 75 63 68 20 74 68 61 74 20 61 70 70 6c 79 69 6e 67 20 74 68 69 73 n.vector.such.that.applying.this
4cda0 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 72 74 73 20 .permutation.to.LIST......sorts.
4cdc0 69 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 it.in.ascending.order...........
4cde0 20 20 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 ..(-grade-up.#'<.'(3.1.4.2.1.3.3
4ce00 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 30 20 35 20 ))...................(1.4.3.0.5.
4ce20 36 20 32 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 31 20 34 20 6.2)...........(let.((l.'(3.1.4.
4ce40 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 73 20 28 2.1.3.3))).(-select-by-indices.(
4ce60 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 20 20 20 20 20 20 20 -grade-up.#'<.l).l))............
4ce80 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 33 20 33 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 .......(1.1.2.3.3.3.4)...--.Func
4cea0 74 69 6f 6e 3a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 tion:.-grade-down.(comparator.li
4cec0 73 74 29 0a 20 20 20 20 20 47 72 61 64 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 st)......Grade.elements.of.LIST.
4cee0 75 73 69 6e 67 20 43 4f 4d 50 41 52 41 54 4f 52 20 72 65 6c 61 74 69 6f 6e 2e 20 20 54 68 69 73 using.COMPARATOR.relation...This
4cf00 20 79 69 65 6c 64 73 20 61 0a 20 20 20 20 20 70 65 72 6d 75 74 61 74 69 6f 6e 20 76 65 63 74 6f .yields.a......permutation.vecto
4cf20 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 20 70 65 72 6d 75 74 r.such.that.applying.this.permut
4cf40 61 74 69 6f 6e 20 74 6f 20 4c 49 53 54 0a 20 20 20 20 20 73 6f 72 74 73 20 69 74 20 69 6e 20 64 ation.to.LIST......sorts.it.in.d
4cf60 65 73 63 65 6e 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 67 72 escending.order.............(-gr
4cf80 61 64 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 0a 20 ade-down.#'<.'(3.1.4.2.1.3.3))..
4cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 30 20 35 20 36 20 33 20 31 20 34 29 .................(2.0.5.6.3.1.4)
4cfc0 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 33 20 31 20 34 20 32 20 31 20 ...........(let.((l.'(3.1.4.2.1.
4cfe0 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 73 20 28 2d 67 72 61 3.3))).(-select-by-indices.(-gra
4d000 64 65 2d 64 6f 77 6e 20 23 27 3c 20 6c 29 20 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 de-down.#'<.l).l))..............
4d020 20 e2 87 92 20 28 34 20 33 20 33 20 33 20 32 20 31 20 31 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 .....(4.3.3.3.2.1.1)....File:.da
4d040 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 sh.info,..Node:.Set.operations,.
4d060 20 4e 65 78 74 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 50 .Next:.Other.list.operations,..P
4d080 72 65 76 3a 20 49 6e 64 65 78 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 rev:.Indexing,..Up:.Functions..2
4d0a0 2e 39 20 53 65 74 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 .9.Set.operations.==============
4d0c0 3d 3d 3d 3d 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 69 73 74 ====..Operations.pretending.list
4d0e0 73 20 61 72 65 20 73 65 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 69 6f s.are.sets....--.Function:.-unio
4d100 6e 20 28 6c 69 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 n.(list.list2)......Return.a.new
4d120 20 6c 69 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 .list.containing.the.elements.of
4d140 20 4c 49 53 54 20 61 6e 64 20 65 6c 65 6d 65 6e 74 73 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 32 .LIST.and.elements.of......LIST2
4d160 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 20 4c 49 53 54 2e 20 20 54 68 65 20 74 65 73 74 .that.are.not.in.LIST...The.test
4d180 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 0a 20 20 20 20 20 .for.equality.is.done.with......
4d1a0 e2 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 20 e2 80 98 2d 63 6f 6d 70 61 72 65 ...equal...,.or.with....-compare
4d1c0 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 20 20 20 -fn....if.that...s.non-nil......
4d1e0 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 29 20 27 28 33 20 34 20 35 29 .......(-union.'(1.2.3).'(3.4.5)
4d200 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 0a )...................(1.2.3.4.5).
4d220 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 69 6f 6e 20 27 28 31 20 32 20 33 20 34 29 20 28 29 29 ..........(-union.'(1.2.3.4).())
4d240 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 20 20 ...................(1.2.3.4)....
4d260 20 20 20 20 20 20 20 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 .......(-union.'(1.1.2.2).'(3.2.
4d280 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 31 20 32 20 32 20 33 1))...................(1.1.2.2.3
4d2a0 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 )...--.Function:.-difference.(li
4d2c0 73 74 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 st.list2)......Return.a.new.list
4d2e0 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 4c 49 53 54 20 74 .with.only.the.members.of.LIST.t
4d300 68 61 74 20 61 72 65 20 6e 6f 74 20 69 6e 0a 20 20 20 20 20 4c 49 53 54 32 2e 20 20 54 68 65 20 hat.are.not.in......LIST2...The.
4d320 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 e2 test.for.equality.is.done.with..
4d340 80 98 65 71 75 61 6c e2 80 99 2c 20 6f 72 20 77 69 74 68 0a 20 20 20 20 20 e2 80 98 2d 63 6f 6d ..equal...,.or.with.........-com
4d360 70 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 pare-fn....if.that...s.non-nil..
4d380 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 66 66 65 72 65 6e 63 65 20 28 29 20 28 29 29 0a 20 ...........(-difference.().())..
4d3a0 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 2d .................()...........(-
4d3c0 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 29 29 0a 20 20 difference.'(1.2.3).'(4.5.6))...
4d3e0 20 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 ................(1.2.3).........
4d400 20 20 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 28 33 20 34 20 ..(-difference.'(1.2.3.4).'(3.4.
4d420 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 31 20 32 29 0a 0a 20 5.6))...................(1.2)...
4d440 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 28 6c 69 73 74 --.Function:.-intersection.(list
4d460 20 6c 69 73 74 32 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 63 .list2)......Return.a.new.list.c
4d480 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 ontaining.only.the.elements.that
4d4a0 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 0a 20 20 20 20 20 62 6f 74 68 20 4c 49 53 54 20 61 .are.members.of......both.LIST.a
4d4c0 6e 64 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 79 nd.LIST2...The.test.for.equality
4d4e0 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 0a 20 20 20 20 20 .is.done.with....equal...,......
4d500 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 68 61 or.with....-compare-fn....if.tha
4d520 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 69 6e 74 65 t...s.non-nil.............(-inte
4d540 72 73 65 63 74 69 6f 6e 20 28 29 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 rsection.().()).................
4d560 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 28 ..()...........(-intersection.'(
4d580 31 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 1.2.3).'(4.5.6))................
4d5a0 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 20 27 ...()...........(-intersection.'
4d5c0 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))...........
4d5e0 20 20 20 20 e2 87 92 20 28 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 6f ........(3.4)...--.Function:.-po
4d600 77 65 72 73 65 74 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 6f werset.(list)......Return.the.po
4d620 77 65 72 20 73 65 74 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f wer.set.of.LIST.............(-po
4d640 77 65 72 73 65 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 6e 69 werset.())...................(ni
4d660 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 6f 77 65 72 73 65 74 20 27 28 78 20 79 20 7a 29 l)...........(-powerset.'(x.y.z)
4d680 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 78 20 79 20 7a 29 20 28 78 20 )...................((x.y.z).(x.
4d6a0 79 29 20 28 78 20 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 y).(x.z).(x).(y.z).(y).(z).nil).
4d6c0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 28 6c 69 ..--.Function:.-permutations.(li
4d6e0 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 65 72 6d 75 74 61 74 69 6f 6e 73 st)......Return.the.permutations
4d700 20 6f 66 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 .of.LIST.............(-permutati
4d720 6f 6e 73 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 ons.())...................(nil).
4d740 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 31 20 32 29 29 ..........(-permutations.'(1.2))
4d760 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 29 20 28 32 20 31 29 29 ...................((1.2).(2.1))
4d780 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 20 27 28 61 20 62 20 ...........(-permutations.'(a.b.
4d7a0 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 61 20 62 20 63 29 20 28 c))...................((a.b.c).(
4d7c0 61 20 63 20 62 29 20 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 a.c.b).(b.a.c).(b.c.a).(c.a.b).(
4d7e0 63 20 62 20 61 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 69 73 74 69 6e 63 74 c.b.a))...--.Function:.-distinct
4d800 20 28 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 .(list)......Return.a.new.list.w
4d820 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 20 20 54 68 65 ith.all.duplicates.removed...The
4d840 20 74 65 73 74 20 66 6f 72 0a 20 20 20 20 20 65 71 75 61 6c 69 74 79 20 69 73 20 64 6f 6e 65 20 .test.for......equality.is.done.
4d860 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 e2 80 98 2d 63 6f with....equal...,.or.with....-co
4d880 6d 70 61 72 65 2d 66 6e e2 80 99 20 69 66 20 74 68 61 74 e2 80 99 73 0a 20 20 20 20 20 6e 6f 6e mpare-fn....if.that...s......non
4d8a0 2d 6e 69 6c 2e 0a 0a 20 20 20 20 20 41 6c 69 61 73 3a 20 e2 80 98 2d 75 6e 69 71 e2 80 99 0a 0a -nil........Alias:....-uniq.....
4d8c0 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 28 29 29 0a 20 20 20 20 20 20 20 ..........(-distinct.())........
4d8e0 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e ...........()...........(-distin
4d900 63 74 20 27 28 31 20 32 20 32 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 ct.'(1.2.2.4))..................
4d920 20 28 31 20 32 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 64 69 73 74 69 6e 63 74 20 27 28 .(1.2.4)...........(-distinct.'(
4d940 74 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 28 74 29 0a 0a 1f t.t.t))...................(t)...
4d960 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 74 68 65 72 20 6c .File:.dash.info,..Node:.Other.l
4d980 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 72 65 65 20 6f 70 65 72 ist.operations,..Next:.Tree.oper
4d9a0 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 20 ations,..Prev:.Set.operations,..
4d9c0 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 30 20 4f 74 68 65 72 20 6c 69 73 74 20 6f Up:.Functions..2.10.Other.list.o
4d9e0 70 65 72 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d perations.======================
4da00 3d 3d 3d 3d 0a 0a 4f 74 68 65 72 20 6c 69 73 74 20 66 75 6e 63 74 69 6f 6e 73 20 6e 6f 74 20 66 ====..Other.list.functions.not.f
4da20 69 74 20 74 6f 20 62 65 20 63 6c 61 73 73 69 66 69 65 64 20 65 6c 73 65 77 68 65 72 65 2e 0a 0a it.to.be.classified.elsewhere...
4da40 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 6f 74 61 74 65 20 28 6e 20 6c 69 73 74 29 0a 20 .--.Function:.-rotate.(n.list)..
4da60 20 20 20 20 52 6f 74 61 74 65 20 4c 49 53 54 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 ....Rotate.LIST.N.places.to.the.
4da80 72 69 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 20 69 73 20 6e 65 67 61 74 69 76 65 29 2e 20 20 right.(left.if.N.is.negative)...
4daa0 54 68 65 0a 20 20 20 20 20 74 69 6d 65 20 63 6f 6d 70 6c 65 78 69 74 79 20 69 73 20 4f 28 6e 29 The......time.complexity.is.O(n)
4dac0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 33 20 27 28 31 20 32 20 33 20 .............(-rotate.3.'(1.2.3.
4dae0 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 35 20 36 4.5.6.7))...................(5.6
4db00 20 37 20 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 6f 74 61 74 65 20 2d .7.1.2.3.4)...........(-rotate.-
4db20 33 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3.'(1.2.3.4.5.6.7)).............
4db40 20 20 e2 87 92 20 28 34 20 35 20 36 20 37 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 ......(4.5.6.7.1.2.3)...........
4db60 28 2d 72 6f 74 61 74 65 20 31 36 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 (-rotate.16.'(1.2.3.4.5.6.7))...
4db80 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 37 20 31 20 32 20 33 20 34 20 35 29 0a ................(6.7.1.2.3.4.5).
4dba0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 72 65 70 65 61 74 20 28 6e 20 78 29 0a 20 20 20 ..--.Function:.-repeat.(n.x)....
4dbc0 20 20 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 4e 20 ..Return.a.new.list.of.length.N.
4dbe0 77 69 74 68 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 62 65 69 6e 67 20 58 2e 20 20 52 65 74 75 with.each.element.being.X...Retu
4dc00 72 6e 0a 20 20 20 20 20 6e 69 6c 20 69 66 20 4e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e rn......nil.if.N.is.less.than.1.
4dc20 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 33 20 3a 61 29 0a 20 20 20 20 20 ............(-repeat.3.:a)......
4dc40 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 3a 61 20 3a 61 20 3a 61 29 0a 20 20 20 20 20 20 20 20 .............(:a.:a.:a).........
4dc60 20 20 28 2d 72 65 70 65 61 74 20 31 20 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 ..(-repeat.1.:a)................
4dc80 87 92 20 28 3a 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 72 65 70 65 61 74 20 30 20 3a 61 29 ...(:a)...........(-repeat.0.:a)
4dca0 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
4dcc0 74 69 6f 6e 3a 20 2d 63 6f 6e 73 2a 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 4d tion:.-cons*.(&rest.args)......M
4dce0 61 6b 65 20 61 20 6e 65 77 20 6c 69 73 74 20 66 72 6f 6d 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 ake.a.new.list.from.the.elements
4dd00 20 6f 66 20 41 52 47 53 2e 20 20 54 68 65 20 6c 61 73 74 20 32 20 65 6c 65 6d 65 6e 74 73 20 6f .of.ARGS...The.last.2.elements.o
4dd20 66 0a 20 20 20 20 20 41 52 47 53 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 66 69 6e 61 f......ARGS.are.used.as.the.fina
4dd40 6c 20 63 6f 6e 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 73 6f 20 69 66 20 74 68 65 20 l.cons.of.the.result,.so.if.the.
4dd60 66 69 6e 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 41 52 47 53 20 69 73 20 6e 6f final......element.of.ARGS.is.no
4dd80 74 20 61 20 6c 69 73 74 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 64 6f 74 74 65 64 t.a.list,.the.result.is.a.dotted
4dda0 20 6c 69 73 74 2e 20 20 57 69 74 68 0a 20 20 20 20 20 6e 6f 20 41 52 47 53 2c 20 72 65 74 75 72 .list...With......no.ARGS,.retur
4ddc0 6e 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 29 0a 20 n.nil.............(-cons*.1.2)..
4dde0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 2e 20 32 29 0a 20 20 20 20 20 20 20 .................(1...2)........
4de00 20 20 20 28 2d 63 6f 6e 73 2a 20 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(-cons*.1.2.3)...............
4de20 e2 87 92 20 28 31 20 32 20 2e 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 63 6f 6e 73 2a 20 ....(1.2...3)...........(-cons*.
4de40 31 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 1)...................1...--.Func
4de60 74 69 6f 6e 3a 20 2d 73 6e 6f 63 20 28 6c 69 73 74 20 65 6c 65 6d 20 26 72 65 73 74 20 65 6c 65 tion:.-snoc.(list.elem.&rest.ele
4de80 6d 65 6e 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 20 45 4c 45 4d 20 74 6f 20 74 68 65 20 65 ments)......Append.ELEM.to.the.e
4dea0 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 nd.of.the.list........This.is.li
4dec0 6b 65 20 e2 80 98 63 6f 6e 73 e2 80 99 2c 20 62 75 74 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 ke....cons...,.but.operates.on.t
4dee0 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 45 4c 45 4d 45 4e 54 he.end.of.list........If.ELEMENT
4df00 53 20 69 73 20 6e 6f 6e 20 6e 69 6c 2c 20 61 70 70 65 6e 64 20 74 68 65 73 65 20 74 6f 20 74 68 S.is.non.nil,.append.these.to.th
4df20 65 20 6c 69 73 74 20 61 73 20 77 65 6c 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f e.list.as.well.............(-sno
4df40 63 20 27 28 31 20 32 20 33 29 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 c.'(1.2.3).4)...................
4df60 28 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 32 (1.2.3.4)...........(-snoc.'(1.2
4df80 20 33 29 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 .3).4.5.6)...................(1.
4dfa0 32 20 33 20 34 20 35 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6e 6f 63 20 27 28 31 20 2.3.4.5.6)...........(-snoc.'(1.
4dfc0 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 2.3).'(4.5.6))..................
4dfe0 20 28 31 20 32 20 33 20 28 34 20 35 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .(1.2.3.(4.5.6))...--.Function:.
4e000 2d 69 6e 74 65 72 70 6f 73 65 20 28 73 65 70 20 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 -interpose.(sep.list)......Retur
4e020 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 73 20 69 6e 20 n.a.new.list.of.all.elements.in.
4e040 4c 49 53 54 20 73 65 70 61 72 61 74 65 64 20 62 79 20 53 45 50 2e 0a 0a 20 20 20 20 20 20 20 20 LIST.separated.by.SEP...........
4e060 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..(-interpose."-".())...........
4e080 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 ........()...........(-interpose
4e0a0 20 22 2d 22 20 27 28 22 61 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 ."-".'("a"))...................(
4e0c0 22 61 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e 74 65 72 70 6f 73 65 20 22 2d 22 20 27 "a")...........(-interpose."-".'
4e0e0 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 87 92 ("a"."b"."c"))..................
4e100 20 28 22 61 22 20 22 2d 22 20 22 62 22 20 22 2d 22 20 22 63 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 .("a"."-"."b"."-"."c")...--.Func
4e120 74 69 6f 6e 3a 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 tion:.-interleave.(&rest.lists).
4e140 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 .....Return.a.new.list.of.the.fi
4e160 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 65 6e 20 74 68 65 20 rst.item.in.each.list,.then.the.
4e180 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6e second......etc.............(-in
4e1a0 74 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 29 0a 20 20 20 20 terleave.'(1.2).'("a"."b")).....
4e1c0 20 20 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 20 20 20 20 ..............(1."a".2."b").....
4e1e0 20 20 20 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 29 20 27 28 22 61 22 20 ......(-interleave.'(1.2).'("a".
4e200 22 62 22 29 20 27 28 22 41 22 20 22 42 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 "b").'("A"."B"))................
4e220 87 92 20 28 31 20 22 61 22 20 22 41 22 20 32 20 22 62 22 20 22 42 22 29 0a 20 20 20 20 20 20 20 ...(1."a"."A".2."b"."B")........
4e240 20 20 20 28 2d 69 6e 74 65 72 6c 65 61 76 65 20 27 28 31 20 32 20 33 29 20 27 28 22 61 22 20 22 ...(-interleave.'(1.2.3).'("a"."
4e260 62 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 22 20 32 20 b"))...................(1."a".2.
4e280 22 62 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 6f 74 61 20 28 63 6f 75 6e 74 "b")...--.Function:.-iota.(count
4e2a0 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 20 20 20 52 65 74 75 .&optional.start.step)......Retu
4e2c0 72 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 rn.a.list.containing.COUNT.numbe
4e2e0 72 73 2e 20 20 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 0a rs...Starts.from.START.and.adds.
4e300 20 20 20 20 20 53 54 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 .....STEP.each.time...The.defaul
4e320 74 20 53 54 41 52 54 20 69 73 20 7a 65 72 6f 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 53 54 45 t.START.is.zero,.the.default.STE
4e340 50 20 69 73 20 31 2e 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 P.is.1.......This.function.takes
4e360 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 6e 64 69 6e 67 .its.name.from.the.corresponding
4e380 20 70 72 69 6d 69 74 69 76 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 41 50 4c 20 6c 61 6e 67 75 .primitive.in......the.APL.langu
4e3a0 61 67 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 6f 74 61 20 36 29 0a 20 20 20 20 20 20 age.............(-iota.6).......
4e3c0 20 20 20 20 20 20 20 20 e2 87 92 20 28 30 20 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 ............(0.1.2.3.4.5).......
4e3e0 20 20 20 20 28 2d 69 6f 74 61 20 34 20 32 2e 35 20 2d 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....(-iota.4.2.5.-2)............
4e400 20 20 20 e2 87 92 20 28 32 2e 35 20 30 2e 35 20 2d 31 2e 35 20 2d 33 2e 35 29 0a 20 20 20 20 20 .......(2.5.0.5.-1.5.-3.5)......
4e420 20 20 20 20 20 28 2d 69 6f 74 61 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 .....(-iota.-1)...............er
4e440 72 6f 72 e2 86 92 20 57 72 6f 6e 67 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 3a 20 6e 61 74 6e ror....Wrong.type.argument:.natn
4e460 75 6d 70 2c 20 2d 31 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 77 69 74 68 ump,.-1...--.Function:.-zip-with
4e480 20 28 66 6e 20 6c 69 73 74 31 20 6c 69 73 74 32 29 0a 20 20 20 20 20 5a 69 70 20 74 68 65 20 74 .(fn.list1.list2)......Zip.the.t
4e4a0 77 6f 20 6c 69 73 74 73 20 4c 49 53 54 31 20 61 6e 64 20 4c 49 53 54 32 20 75 73 69 6e 67 20 61 wo.lists.LIST1.and.LIST2.using.a
4e4c0 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 66 75 6e 63 74 69 6f .function.FN...This......functio
4e4e0 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 20 n.is.applied.pairwise.taking.as.
4e500 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 20 20 20 20 20 4c first.argument.element.of......L
4e520 49 53 54 31 20 61 6e 64 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 65 6c 65 6d IST1.and.as.second.argument.elem
4e540 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 69 6e 67 0a 20 20 ent.of.LIST2.at.corresponding...
4e560 20 20 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 6e 61 70 68 6f 72 69 63 ...position........The.anaphoric
4e580 20 66 6f 72 6d 20 e2 80 98 2d 2d 7a 69 70 2d 77 69 74 68 e2 80 99 20 62 69 6e 64 73 20 74 68 65 .form....--zip-with....binds.the
4e5a0 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 4c 49 53 54 31 20 61 73 0a 20 20 20 20 20 73 79 6d .elements.from.LIST1.as......sym
4e5c0 62 6f 6c 20 e2 80 98 69 74 e2 80 99 2c 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 66 bol....it...,.and.the.elements.f
4e5e0 72 6f 6d 20 4c 49 53 54 32 20 61 73 20 73 79 6d 62 6f 6c 20 e2 80 98 6f 74 68 65 72 e2 80 99 2e rom.LIST2.as.symbol....other....
4e600 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2b 20 27 28 31 20 32 20 ............(-zip-with.'+.'(1.2.
4e620 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 28 3).'(4.5.6))...................(
4e640 35 20 37 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 63 6f 6e 5.7.9)...........(-zip-with.'con
4e660 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 20 20 20 20 20 20 20 s.'(1.2.3).'(4.5.6))............
4e680 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 29 .......((1...4).(2...5).(3...6))
4e6a0 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 7a 69 70 2d 77 69 74 68 20 28 63 6f 6e 63 61 74 20 69 ...........(--zip-with.(concat.i
4e6c0 74 20 22 20 61 6e 64 20 22 20 6f 74 68 65 72 29 20 27 28 22 42 61 74 6d 61 6e 22 20 22 4a 65 6b t.".and.".other).'("Batman"."Jek
4e6e0 79 6c 6c 22 29 20 27 28 22 52 6f 62 69 6e 22 20 22 48 79 64 65 22 29 29 0a 20 20 20 20 20 20 20 yll").'("Robin"."Hyde"))........
4e700 20 20 20 20 20 20 20 e2 87 92 20 28 22 42 61 74 6d 61 6e 20 61 6e 64 20 52 6f 62 69 6e 22 20 22 ...........("Batman.and.Robin"."
4e720 4a 65 6b 79 6c 6c 20 61 6e 64 20 48 79 64 65 22 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a Jekyll.and.Hyde")...--.Function:
4e740 20 2d 7a 69 70 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 4c 49 53 .-zip.(&rest.lists)......Zip.LIS
4e760 54 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 TS.together...Group.the.head.of.
4e780 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 20 20 20 20 20 each.list,.followed.by.the......
4e7a0 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 74 2c 20 61 6e second.elements.of.each.list,.an
4e7c0 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a 20 20 20 d.so.on...The.lengths.of.the....
4e7e0 20 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 6c 20 74 ..returned.groupings.are.equal.t
4e800 6f 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 o.the.length.of.the.shortest.inp
4e820 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 77 6f 20 6c 69 73 74 73 ut......list........If.two.lists
4e840 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 65 74 75 .are.provided.as.arguments,.retu
4e860 72 6e 20 74 68 65 20 67 72 6f 75 70 69 6e 67 73 20 61 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 rn.the.groupings.as.a......list.
4e880 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 of.cons.cells...Otherwise,.retur
4e8a0 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 0a 20 20 20 n.the.groupings.as.a.list.of....
4e8c0 20 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 55 73 65 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 ..lists........Use....-zip-lists
4e8e0 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 3a 29 20 69 66 20 79 6f 75 20 ....(*note.-zip-lists::).if.you.
4e900 6e 65 65 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 74 6f 20 61 6c need.the.return.value......to.al
4e920 77 61 79 73 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 41 ways.be.a.list.of.lists........A
4e940 6c 69 61 73 3a 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 0a 0a 20 20 20 20 20 53 65 65 20 lias:....-zip-pair..........See.
4e960 61 6c 73 6f 3a 20 e2 80 98 2d 7a 69 70 2d 6c 69 73 74 73 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a also:....-zip-lists....(*note.-z
4e980 69 70 2d 6c 69 73 74 73 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 20 27 28 31 ip-lists::)............(-zip.'(1
4e9a0 20 32 20 33 29 20 27 28 34 20 35 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 .2.3).'(4.5.6)).................
4e9c0 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 29 0a 20 20 20 20 ..((1...4).(2...5).(3...6)).....
4e9e0 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 20 36 20 37 29 29 ......(-zip.'(1.2.3).'(4.5.6.7))
4ea00 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 28 32 20 2e ...................((1...4).(2..
4ea20 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 20 27 28 31 .5).(3...6))...........(-zip.'(1
4ea40 20 32 29 20 27 28 33 20 34 20 35 29 20 27 28 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .2).'(3.4.5).'(6))..............
4ea60 20 e2 87 92 20 28 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a .....((1.3.6))...--.Function:.-z
4ea80 69 70 2d 6c 69 73 74 73 20 28 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 5a 69 70 20 ip-lists.(&rest.lists)......Zip.
4eaa0 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 65 20 68 65 61 64 20 LISTS.together...Group.the.head.
4eac0 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 20 20 of.each.list,.followed.by.the...
4eae0 20 20 20 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 74 2c ...second.elements.of.each.list,
4eb00 20 61 6e 64 20 73 6f 20 6f 6e 2e 20 20 54 68 65 20 6c 65 6e 67 74 68 73 20 6f 66 20 74 68 65 0a .and.so.on...The.lengths.of.the.
4eb20 20 20 20 20 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 .....returned.groupings.are.equa
4eb40 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 68 6f 72 74 65 73 74 20 l.to.the.length.of.the.shortest.
4eb60 69 6e 70 75 74 0a 20 20 20 20 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 input......list........The.retur
4eb80 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 2c n.value.is.always.list.of.lists,
4eba0 20 77 68 69 63 68 20 69 73 20 61 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 66 72 6f 6d .which.is.a.difference......from
4ebc0 20 e2 80 98 2d 7a 69 70 2d 70 61 69 72 e2 80 99 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 ....-zip-pair....which.returns.a
4ebe0 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 20 6c 69 73 .cons-cell.in.case.two.input.lis
4ec00 74 73 0a 20 20 20 20 20 61 72 65 20 70 72 6f 76 69 64 65 64 2e 0a 0a 20 20 20 20 20 53 65 65 20 ts......are.provided........See.
4ec20 61 6c 73 6f 3a 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a also:....-zip....(*note.-zip::).
4ec40 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 20 33 29 20 ...........(-zip-lists.'(1.2.3).
4ec60 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.
4ec80 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 28 2d 7a 69 70 2d 4).(2.5).(3.6))...........(-zip-
4eca0 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 0a 20 20 20 20 20 lists.'(1.2.3).'(4.5.6.7))......
4ecc0 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 20 36 29 29 .............((1.4).(2.5).(3.6))
4ece0 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 29 20 27 28 ...........(-zip-lists.'(1.2).'(
4ed00 33 20 34 20 35 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 3.4.5).'(6))...................(
4ed20 28 31 20 33 20 36 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 7a 69 70 2d 66 69 6c (1.3.6))...--.Function:.-zip-fil
4ed40 6c 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 l.(fill-value.&rest.lists)......
4ed60 5a 69 70 20 4c 49 53 54 53 2c 20 77 69 74 68 20 46 49 4c 4c 2d 56 41 4c 55 45 20 70 61 64 64 65 Zip.LISTS,.with.FILL-VALUE.padde
4ed80 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 20 54 68 65 0a 20 d.onto.the.shorter.lists...The..
4eda0 20 20 20 20 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 ....lengths.of.the.returned.grou
4edc0 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 66 pings.are.equal.to.the.length.of
4ede0 20 74 68 65 0a 20 20 20 20 20 6c 6f 6e 67 65 73 74 20 69 6e 70 75 74 20 6c 69 73 74 2e 0a 0a 20 .the......longest.input.list....
4ee00 20 20 20 20 20 20 20 20 20 28 2d 7a 69 70 2d 66 69 6c 6c 20 30 20 27 28 31 20 32 20 33 20 34 20 .........(-zip-fill.0.'(1.2.3.4.
4ee20 35 29 20 27 28 36 20 37 20 38 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 5).'(6.7.8.9))..................
4ee40 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
4ee60 29 20 28 35 20 2e 20 30 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 75 6e 7a 69 70 ).(5...0))...--.Function:.-unzip
4ee80 20 28 6c 69 73 74 73 29 0a 20 20 20 20 20 55 6e 7a 69 70 20 4c 49 53 54 53 2e 0a 0a 20 20 20 20 .(lists)......Unzip.LISTS.......
4eea0 20 54 68 69 73 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 7a 69 70 e2 80 99 .This.works.just.like....-zip...
4eec0 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 20 62 75 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 .(*note.-zip::).but.takes.a.list
4eee0 20 6f 66 0a 20 20 20 20 20 6c 69 73 74 73 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 76 61 72 69 .of......lists.instead.of.a.vari
4ef00 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
4ef20 68 61 74 0a 0a 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 28 2d 7a 69 70 20 4c 31 20 4c 32 20 4c 33 hat.......(-unzip.(-zip.L1.L2.L3
4ef40 20 2e 2e 2e 29 29 0a 0a 20 20 20 20 20 69 73 20 69 64 65 6e 74 69 74 79 20 28 67 69 76 65 6e 20 ....)).......is.identity.(given.
4ef60 74 68 61 74 20 74 68 65 20 6c 69 73 74 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 that.the.lists.are.the.same.leng
4ef80 74 68 29 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 20 74 68 th)........Note.in.particular.th
4efa0 61 74 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 20 6f 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 77 6f at.calling.this.on.a.list.of.two
4efc0 20 6c 69 73 74 73 20 77 69 6c 6c 0a 20 20 20 20 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f .lists.will......return.a.list.o
4efe0 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 62 6f 76 65 f.cons-cells.such.that.the.above
4f000 20 69 64 65 6e 74 69 74 79 20 77 6f 72 6b 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a .identity.works........See.also:
4f020 20 e2 80 98 2d 7a 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 7a 69 70 3a 3a 29 0a 0a 20 20 20 20 ....-zip....(*note.-zip::)......
4f040 20 20 20 20 20 20 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 ......(-unzip.(-zip.'(1.2.3).'(a
4f060 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 20 20 20 20 20 20 .b.c).'("e"."f"."g")))..........
4f080 20 20 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 61 20 62 20 63 29 20 28 22 65 22 20 22 .........((1.2.3).(a.b.c).("e"."
4f0a0 66 22 20 22 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 31 20 f"."g"))...........(-unzip.'((1.
4f0c0 32 29 20 28 33 20 34 29 20 28 35 20 36 29 20 28 37 20 38 29 20 28 39 20 31 30 29 29 29 0a 20 20 2).(3.4).(5.6).(7.8).(9.10)))...
4f0e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 33 20 35 20 37 20 39 29 20 28 32 20 ................((1.3.5.7.9).(2.
4f100 34 20 36 20 38 20 31 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 75 6e 7a 69 70 20 27 28 28 4.6.8.10))...........(-unzip.'((
4f120 31 20 32 29 20 28 33 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 1.2).(3.4)))...................(
4f140 28 31 20 2e 20 33 29 20 28 32 20 2e 20 34 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 (1...3).(2...4))...--.Function:.
4f160 2d 63 79 63 6c 65 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 69 6e 66 -cycle.(list)......Return.an.inf
4f180 69 6e 69 74 65 20 63 69 72 63 75 6c 61 72 20 63 6f 70 79 20 6f 66 20 4c 49 53 54 2e 20 20 54 68 inite.circular.copy.of.LIST...Th
4f1a0 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 63 79 63 6c 65 73 0a 20 20 20 20 20 74 68 72 6f e.returned.list.cycles......thro
4f1c0 75 67 68 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 20 72 65 70 ugh.the.elements.of.LIST.and.rep
4f1e0 65 61 74 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 0a 20 20 20 20 20 20 eats.from.the.beginning.........
4f200 20 20 20 20 28 2d 74 61 6b 65 20 35 20 28 2d 63 79 63 6c 65 20 27 28 31 20 32 20 33 29 29 29 0a ....(-take.5.(-cycle.'(1.2.3))).
4f220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 31 20 32 29 0a 20 20 ..................(1.2.3.1.2)...
4f240 20 20 20 20 20 20 20 20 28 2d 74 61 6b 65 20 37 20 28 2d 63 79 63 6c 65 20 27 28 31 20 22 61 6e ........(-take.7.(-cycle.'(1."an
4f260 64 22 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 22 61 6e d".3)))...................(1."an
4f280 64 22 20 33 20 31 20 22 61 6e 64 22 20 33 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 7a 69 d".3.1."and".3.1)...........(-zi
4f2a0 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 0a 20 20 20 20 p.(-cycle.'(1.2.3)).'(1.2)).....
4f2c0 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 2e 20 31 29 20 28 32 20 2e 20 32 29 29 0a ..............((1...1).(2...2)).
4f2e0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 64 20 28 66 69 6c 6c 2d 76 61 6c 75 65 20 ..--.Function:.-pad.(fill-value.
4f300 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 20 20 41 70 70 65 6e 64 73 20 46 49 4c 4c 2d 56 &rest.lists)......Appends.FILL-V
4f320 41 4c 55 45 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 ALUE.to.the.end.of.each.list.in.
4f340 4c 49 53 54 53 20 73 75 63 68 20 74 68 61 74 20 74 68 65 79 0a 20 20 20 20 20 77 69 6c 6c 20 61 LISTS.such.that.they......will.a
4f360 6c 6c 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 0a 20 20 20 20 20 20 ll.have.the.same.length.........
4f380 20 20 20 20 28 2d 70 61 64 20 30 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 ....(-pad.0.()).................
4f3a0 92 20 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 70 61 64 20 30 20 27 28 31 29 29 0a ..(nil)...........(-pad.0.'(1)).
4f3c0 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 20 20 20 20 20 20 ..................((1)).........
4f3e0 20 20 28 2d 70 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 20 ..(-pad.0.'(1.2.3).'(4.5))......
4f400 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 30 29 29 0a 0a .............((1.2.3).(4.5.0))..
4f420 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 61 62 6c 65 20 28 66 6e 20 26 72 65 73 74 20 6c .--.Function:.-table.(fn.&rest.l
4f440 69 73 74 73 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 ists)......Compute.outer.product
4f460 20 6f 66 20 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 .of.LISTS.using.function.FN.....
4f480 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 ...The.function.FN.should.have.t
4f4a0 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 20 he.same.arity.as.the.number.of..
4f4c0 20 20 20 20 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 ....supplied.lists........The.ou
4f4e0 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 79 ter.product.is.computed.by.apply
4f500 69 6e 67 20 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 ing.fn.to.all.possible......comb
4f520 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 20 65 inations.created.by.taking.one.e
4f540 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a lement.from.each.list.in.order..
4f560 20 20 20 20 20 54 68 65 20 64 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 .....The.dimension.of.the.result
4f580 20 69 73 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .is.(length.lists)........See.al
4f5a0 73 6f 3a 20 e2 80 98 2d 74 61 62 6c 65 2d 66 6c 61 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 61 so:....-table-flat....(*note.-ta
4f5c0 62 6c 65 2d 66 6c 61 74 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 27 ble-flat::)............(-table.'
4f5e0 2a 20 27 28 31 20 32 20 33 29 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 *.'(1.2.3).'(1.2.3))............
4f600 20 20 20 e2 87 92 20 28 28 31 20 32 20 33 29 20 28 32 20 34 20 36 29 20 28 33 20 36 20 39 29 29 .......((1.2.3).(2.4.6).(3.6.9))
4f620 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 ...........(-table.(lambda.(a.b)
4f640 20 28 2d 73 75 6d 20 28 2d 7a 69 70 2d 77 69 74 68 20 27 2a 20 61 20 62 29 29 29 20 27 28 28 31 .(-sum.(-zip-with.'*.a.b))).'((1
4f660 20 32 29 20 28 33 20 34 29 29 20 27 28 28 31 20 33 29 20 28 32 20 34 29 29 29 0a 20 20 20 20 20 .2).(3.4)).'((1.3).(2.4)))......
4f680 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 31 35 29 20 28 31 30 20 32 32 29 29 0a 20 20 .............((7.15).(10.22))...
4f6a0 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2d 74 61 62 6c 65 20 27 6c 69 73 74 20 28 2d 72 ........(apply.'-table.'list.(-r
4f6c0 65 70 65 61 74 20 33 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 epeat.3.'(1.2)))................
4f6e0 87 92 20 28 28 28 28 31 20 31 20 31 29 20 28 32 20 31 20 31 29 29 20 28 28 31 20 32 20 31 29 20 ...((((1.1.1).(2.1.1)).((1.2.1).
4f700 28 32 20 32 20 31 29 29 29 20 28 28 28 31 20 31 20 32 29 20 28 32 20 31 20 32 29 29 20 28 28 31 (2.2.1))).(((1.1.2).(2.1.2)).((1
4f720 20 32 20 32 29 20 28 32 20 32 20 32 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .2.2).(2.2.2))))...--.Function:.
4f740 2d 74 61 62 6c 65 2d 66 6c 61 74 20 28 66 6e 20 26 72 65 73 74 20 6c 69 73 74 73 29 0a 20 20 20 -table-flat.(fn.&rest.lists)....
4f760 20 20 43 6f 6d 70 75 74 65 20 66 6c 61 74 20 6f 75 74 65 72 20 70 72 6f 64 75 63 74 20 6f 66 20 ..Compute.flat.outer.product.of.
4f780 4c 49 53 54 53 20 75 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 46 4e 2e 0a 0a 20 20 20 20 20 54 LISTS.using.function.FN........T
4f7a0 68 65 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 73 he.function.FN.should.have.the.s
4f7c0 61 6d 65 20 61 72 69 74 79 20 61 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 ame.arity.as.the.number.of......
4f7e0 73 75 70 70 6c 69 65 64 20 6c 69 73 74 73 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 75 74 65 72 20 supplied.lists........The.outer.
4f800 70 72 6f 64 75 63 74 20 69 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 70 70 6c 79 69 6e 67 20 product.is.computed.by.applying.
4f820 66 6e 20 74 6f 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 63 6f 6d 62 69 6e 61 74 fn.to.all.possible......combinat
4f840 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
4f860 6e 74 20 66 72 6f 6d 20 65 61 63 68 20 6c 69 73 74 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 20 20 nt.from.each.list.in.order......
4f880 20 54 68 65 20 72 65 73 75 6c 74 73 20 61 72 65 20 66 6c 61 74 74 65 6e 65 64 2c 20 69 67 6e 6f .The.results.are.flattened,.igno
4f8a0 72 69 6e 67 20 74 68 65 20 74 65 6e 73 6f 72 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 68 65 ring.the.tensor.structure.of.the
4f8c0 0a 20 20 20 20 20 72 65 73 75 6c 74 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e ......result...This.is.equivalen
4f8e0 74 20 74 6f 20 63 61 6c 6c 69 6e 67 3a 0a 0a 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 2d 6e 20 t.to.calling:.......(-flatten-n.
4f900 28 31 2d 20 28 6c 65 6e 67 74 68 20 6c 69 73 74 73 29 29 20 28 61 70 70 6c 79 20 e2 80 99 2d 74 (1-.(length.lists)).(apply....-t
4f920 61 62 6c 65 20 66 6e 20 6c 69 73 74 73 29 29 0a 0a 20 20 20 20 20 62 75 74 20 74 68 65 20 69 6d able.fn.lists)).......but.the.im
4f940 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 65 20 65 plementation.here.is.much.more.e
4f960 66 66 69 63 69 65 6e 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 66 6c fficient........See.also:....-fl
4f980 61 74 74 65 6e 2d 6e e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 3a 29 2c atten-n....(*note.-flatten-n::),
4f9a0 20 e2 80 98 2d 74 61 62 6c 65 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 2d 74 61 62 6c 65 ....-table....(*note......-table
4f9c0 3a 3a 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 ::)............(-table-flat.'lis
4f9e0 74 20 27 28 31 20 32 20 33 29 20 27 28 61 20 62 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t.'(1.2.3).'(a.b.c))............
4fa00 20 20 20 e2 87 92 20 28 28 31 20 61 29 20 28 32 20 61 29 20 28 33 20 61 29 20 28 31 20 62 29 20 .......((1.a).(2.a).(3.a).(1.b).
4fa20 28 32 20 62 29 20 28 33 20 62 29 20 28 31 20 63 29 20 28 32 20 63 29 20 28 33 20 63 29 29 0a 20 (2.b).(3.b).(1.c).(2.c).(3.c))..
4fa40 20 20 20 20 20 20 20 20 20 28 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 2a 20 27 28 31 20 32 20 33 .........(-table-flat.'*.'(1.2.3
4fa60 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 31 ).'(1.2.3))...................(1
4fa80 20 32 20 33 20 32 20 34 20 36 20 33 20 36 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 .2.3.2.4.6.3.6.9)...........(app
4faa0 6c 79 20 27 2d 74 61 62 6c 65 2d 66 6c 61 74 20 27 6c 69 73 74 20 28 2d 72 65 70 65 61 74 20 33 ly.'-table-flat.'list.(-repeat.3
4fac0 20 27 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 20 .'(1.2)))...................((1.
4fae0 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.
4fb00 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 0a 20 1.2).(2.1.2).(1.2.2).(2.2.2))...
4fb20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 69 72 73 74 20 28 70 72 65 64 20 6c 69 73 74 29 0a --.Function:.-first.(pred.list).
4fb40 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 69 6e 20 4c 49 .....Return.the.first.item.in.LI
4fb60 53 54 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 ST.for.which.PRED.returns.non-ni
4fb80 6c 2e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 6e 6f 20 73 75 63 68 20 65 6c l.......Return.nil.if.no.such.el
4fba0 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 2e 20 20 54 6f 20 67 65 74 20 74 68 65 20 66 69 72 73 ement.is.found...To.get.the.firs
4fbc0 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 6e 6f 20 71 75 65 73 74 t.item.in......the.list.no.quest
4fbe0 69 6f 6e 73 20 61 73 6b 65 64 2c 20 75 73 65 20 e2 80 98 63 61 72 e2 80 99 2e 0a 0a 20 20 20 20 ions.asked,.use....car..........
4fc00 20 41 6c 69 61 73 3a 20 e2 80 98 2d 66 69 6e 64 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 .Alias:....-find...........This.
4fc20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 function...s.anaphoric.counterpa
4fc40 72 74 20 69 73 20 e2 80 98 2d 2d 66 69 72 73 74 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 rt.is....--first................
4fc60 28 2d 66 69 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 (-first.#'natnump.'(-1.0.1))....
4fc80 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 2d 66 69 72 ...............0...........(-fir
4fca0 73 74 20 23 27 6e 75 6c 6c 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 st.#'null.'(1.2.3)).............
4fcc0 20 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 66 69 72 73 74 20 28 3e 20 ......nil...........(--first.(>.
4fce0 69 74 20 32 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 it.2).'(1.2.3)).................
4fd00 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 61 73 74 20 28 70 72 65 64 20 6c ..3...--.Function:.-last.(pred.l
4fd20 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 78 20 69 6e 20 4c ist)......Return.the.last.x.in.L
4fd40 49 53 54 20 77 68 65 72 65 20 28 50 52 45 44 20 78 29 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 IST.where.(PRED.x).is.non-nil,.e
4fd60 6c 73 65 20 6e 69 6c 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 65 6e lse.nil.............(-last.'even
4fd80 3f 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 33 20 33 20 33 29 29 0a 20 20 20 20 20 20 20 20 ?.'(1.2.3.4.5.6.3.3.3)).........
4fda0 20 20 20 20 20 20 e2 87 92 20 36 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 61 73 74 20 27 65 76 ..........6...........(-last.'ev
4fdc0 65 6e 3f 20 27 28 31 20 33 20 37 20 35 20 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en?.'(1.3.7.5.9))...............
4fde0 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6c 61 73 74 20 28 3e 20 28 6c 65 ....nil...........(--last.(>.(le
4fe00 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
4fe20 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 20 20 20 20 "."and"."short"."one")).........
4fe40 20 20 20 20 20 20 e2 87 92 20 22 73 68 6f 72 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a .........."short"...--.Function:
4fe60 20 2d 66 69 72 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 .-first-item.(list)......Return.
4fe80 74 68 65 20 66 69 72 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 6f the.first.item.of.LIST,.or.nil.o
4fea0 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a n.an.empty.list........See.also:
4fec0 20 e2 80 98 2d 73 65 63 6f 6e 64 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 73 65 63 6f ....-second-item....(*note.-seco
4fee0 6e 64 2d 69 74 65 6d 3a 3a 29 2c 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 0a 20 20 20 nd-item::),....-last-item.......
4ff00 20 20 28 2a 6e 6f 74 65 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 ..(*note.-last-item::)..........
4ff20 20 20 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 20 20 ...(-first-item.'(1.2.3)).......
4ff40 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 66 69 72 73 74 2d ............1...........(-first-
4ff60 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 6e 69 6c 0a item.nil)...................nil.
4ff80 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 32 20 ..........(let.((list.(list.1.2.
4ffa0 33 29 29 29 20 28 73 65 74 66 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 29 3))).(setf.(-first-item.list).5)
4ffc0 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 32 20 33 29 .list)...................(5.2.3)
4ffe0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 28 6c 69 ...--.Function:.-second-item.(li
50000 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 20 st)......Return.the.second.item.
50020 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
50040 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 74 68 69 72 64 2d hort........See.also:....-third-
50060 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 68 69 72 64 2d 69 74 65 6d 3a 3a 29 2e 0a 0a item....(*note.-third-item::)...
50080 20 20 20 20 20 20 20 20 20 20 28 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 ..........(-second-item.'(1.2.3)
500a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 )...................2...........
500c0 28 2d 73 65 63 6f 6e 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 (-second-item.nil)..............
500e0 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 74 68 69 72 64 2d 69 .....nil...--.Function:.-third-i
50100 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 74 68 69 72 64 tem.(list)......Return.the.third
50120 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 20 4c 49 53 54 20 69 73 .item.of.LIST,.or.nil.if.LIST.is
50140 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d .too.short........See.also:....-
50160 66 6f 75 72 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6f 75 72 74 68 2d 69 74 fourth-item....(*note.-fourth-it
50180 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 27 em::).............(-third-item.'
501a0 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 33 0a 20 20 20 (1.2.3))...................3....
501c0 20 20 20 20 20 20 20 28 2d 74 68 69 72 64 2d 69 74 65 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 .......(-third-item.nil)........
501e0 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 66 ...........nil...--.Function:.-f
50200 6f 75 72 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 ourth-item.(list)......Return.th
50220 65 20 66 6f 75 72 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f 72 20 6e 69 6c 20 69 66 e.fourth.item.of.LIST,.or.nil.if
50240 20 4c 49 53 54 20 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c .LIST.is.too.short........See.al
50260 73 6f 3a 20 e2 80 98 2d 66 69 66 74 68 2d 69 74 65 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 69 so:....-fifth-item....(*note.-fi
50280 66 74 68 2d 69 74 65 6d 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 6f 75 72 74 68 fth-item::).............(-fourth
502a0 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -item.'(1.2.3.4))...............
502c0 e2 87 92 20 34 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 6e 69 ....4...........(-fourth-item.ni
502e0 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 20 46 75 l)...................nil...--.Fu
50300 6e 63 74 69 6f 6e 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a 20 20 20 20 20 nction:.-fifth-item.(list)......
50320 52 65 74 75 72 6e 20 74 68 65 20 66 69 66 74 68 20 69 74 65 6d 20 6f 66 20 4c 49 53 54 2c 20 6f Return.the.fifth.item.of.LIST,.o
50340 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 0a 0a 20 20 20 r.nil.if.LIST.is.too.short......
50360 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6c 61 73 74 2d 69 74 65 6d e2 80 99 20 28 2a 6e ..See.also:....-last-item....(*n
50380 6f 74 65 20 2d 6c 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 ote.-last-item::).............(-
503a0 66 69 66 74 68 2d 69 74 65 6d 20 27 28 31 20 32 20 33 20 34 20 35 29 29 0a 20 20 20 20 20 20 20 fifth-item.'(1.2.3.4.5))........
503c0 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 69 66 74 68 2d 69 ...........5...........(-fifth-i
503e0 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 6e 69 6c 0a 0a tem.nil)...................nil..
50400 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 20 28 6c 69 73 74 29 0a .--.Function:.-last-item.(list).
50420 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 6f 66 20 4c 49 53 .....Return.the.last.item.of.LIS
50440 54 2c 20 6f 72 20 6e 69 6c 20 6f 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 0a 0a 20 20 20 T,.or.nil.on.an.empty.list......
50460 20 20 20 20 20 20 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 .......(-last-item.'(1.2.3))....
50480 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 6c 61 73 ...............3...........(-las
504a0 74 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 6e 69 t-item.nil)...................ni
504c0 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 73 74 20 28 6c 69 73 74 20 31 20 l...........(let.((list.(list.1.
504e0 32 20 33 29 29 29 20 28 73 65 74 66 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 6c 69 73 74 29 20 35 2.3))).(setf.(-last-item.list).5
50500 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 35 ).list)...................(1.2.5
50520 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 62 75 74 6c 61 73 74 20 28 6c 69 73 74 29 )...--.Function:.-butlast.(list)
50540 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 69 74 65 6d 73 ......Return.a.list.of.all.items
50560 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 73 74 2e 0a 0a 20 .in.list.except.for.the.last....
50580 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 .........(-butlast.'(1.2.3))....
505a0 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 20 20 20 20 20 28 ...............(1.2)...........(
505c0 2d 62 75 74 6c 61 73 74 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 -butlast.'(1.2))................
505e0 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 62 75 74 6c 61 73 74 20 27 28 31 29 29 ...(1)...........(-butlast.'(1))
50600 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
50620 74 69 6f 6e 3a 20 2d 73 6f 72 74 20 28 63 6f 6d 70 61 72 61 74 6f 72 20 6c 69 73 74 29 0a 20 20 tion:.-sort.(comparator.list)...
50640 20 20 20 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.
50660 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 20 20 52 65 74 75 elements.using.COMPARATOR...Retu
50680 72 6e 20 74 68 65 0a 20 20 20 20 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 20 4c 49 53 54 20 69 rn.the......sorted.list...LIST.i
506a0 73 20 4e 4f 54 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 s.NOT.modified.by.side.effects..
506c0 20 43 4f 4d 50 41 52 41 54 4f 52 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 .COMPARATOR.is......called.with.
506e0 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2c 20 61 6e 64 20 73 68 6f 75 6c 64 two.elements.of.LIST,.and.should
50700 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 0a 20 20 20 20 20 66 69 72 73 .return.non-nil.if.the......firs
50720 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 65 t.element.should.sort.before.the
50740 20 73 65 63 6f 6e 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 27 3c 20 27 28 .second.............(-sort.'<.'(
50760 33 20 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 3.1.2))...................(1.2.3
50780 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 27 3e 20 27 28 33 20 31 20 32 29 29 0a )...........(-sort.'>.'(3.1.2)).
507a0 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 20 20 20 20 ..................(3.2.1).......
507c0 20 20 20 20 28 2d 2d 73 6f 72 74 20 28 3c 20 69 74 20 6f 74 68 65 72 29 20 27 28 33 20 31 20 32 ....(--sort.(<.it.other).'(3.1.2
507e0 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 0a 0a 20 2d ))...................(1.2.3)...-
50800 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6c 69 73 74 20 28 61 72 67 29 0a 20 20 20 20 20 45 6e 73 -.Function:.-list.(arg)......Ens
50820 75 72 65 20 41 52 47 20 69 73 20 61 20 6c 69 73 74 2e 20 20 49 66 20 41 52 47 20 69 73 20 61 6c ure.ARG.is.a.list...If.ARG.is.al
50840 72 65 61 64 79 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 69 73 0a 20 20 ready.a.list,.return.it.as.is...
50860 20 20 20 28 6e 6f 74 20 61 20 63 6f 70 79 29 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 ...(not.a.copy)...Otherwise,.ret
50880 75 72 6e 20 61 20 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 41 52 47 20 61 73 20 69 74 73 20 6f urn.a.new.list.with.ARG.as.its.o
508a0 6e 6c 79 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 41 6e 6f 74 68 65 72 20 nly......element........Another.
508c0 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.
508e0 28 2d 6c 69 73 74 20 26 72 65 73 74 20 41 52 47 53 29 2e 20 20 49 6e 0a 20 20 20 20 20 74 68 69 (-list.&rest.ARGS)...In......thi
50900 73 20 63 61 73 65 2c 20 69 66 20 41 52 47 20 69 73 20 6e 6f 74 20 61 20 6c 69 73 74 2c 20 61 20 s.case,.if.ARG.is.not.a.list,.a.
50920 6e 65 77 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 41 52 47 53 20 61 73 0a 20 20 20 new.list.with.all.of.ARGS.as....
50940 20 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 75 73 ..elements.is.returned...This.us
50960 65 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 62 61 63 6b 77 61 72 64 0a 20 20 20 20 e.is.supported.for.backward.....
50980 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 .compatibility.and.is.otherwise.
509a0 64 65 70 72 65 63 61 74 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 31 29 deprecated.............(-list.1)
509c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 29 0a 20 20 20 20 20 20 20 20 20 ...................(1)..........
509e0 20 28 2d 6c 69 73 74 20 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 .(-list.())...................()
50a00 0a 20 20 20 20 20 20 20 20 20 20 28 2d 6c 69 73 74 20 27 28 31 20 32 20 33 29 29 0a 20 20 20 20 ...........(-list.'(1.2.3)).....
50a20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(1.2.3)...--.Funct
50a40 69 6f 6e 3a 20 2d 66 69 78 20 28 66 6e 20 6c 69 73 74 29 0a 20 20 20 20 20 43 6f 6d 70 75 74 65 ion:.-fix.(fn.list)......Compute
50a60 20 74 68 65 20 28 6c 65 61 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 20 77 69 74 68 .the.(least).fixpoint.of.FN.with
50a80 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 20 4c 49 53 54 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 .initial.input.LIST........FN.is
50aa0 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
50ac0 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 0a 0a 20 re.compared.with....equal.......
50ae0 20 20 20 20 20 20 20 20 20 28 2d 66 69 78 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 2d 6e 6f 6e .........(-fix.(lambda.(l).(-non
50b00 2d 6e 69 6c 20 28 2d 2d 6d 61 70 63 61 74 20 28 2d 73 70 6c 69 74 2d 61 74 20 28 2f 20 28 6c 65 -nil.(--mapcat.(-split-at.(/.(le
50b20 6e 67 74 68 20 69 74 29 20 32 29 20 69 74 29 20 6c 29 29 29 20 27 28 28 31 20 32 20 33 29 29 29 ngth.it).2).it).l))).'((1.2.3)))
50b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 32 29 20 28 33 29 29 ...................((1).(2).(3))
50b60 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 20 27 28 28 73 74 61 72 77 61 72 73 20 ...........(let.((l.'((starwars.
50b80 73 63 69 66 69 29 20 28 6a 65 64 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 29 29 29 scifi).(jedi.starwars.warrior)))
50ba0 29 20 28 2d 2d 66 69 78 20 28 2d 75 6e 69 71 20 28 2d 2d 6d 61 70 63 61 74 20 28 63 6f 6e 73 20 ).(--fix.(-uniq.(--mapcat.(cons.
50bc0 69 74 20 28 63 64 72 20 28 61 73 73 71 20 69 74 20 6c 29 29 29 20 69 74 29 29 20 27 28 6a 65 64 it.(cdr.(assq.it.l))).it)).'(jed
50be0 69 20 62 6f 6f 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6a 65 64 i.book)))...................(jed
50c00 69 20 73 74 61 72 77 61 72 73 20 77 61 72 72 69 6f 72 20 73 63 69 66 69 20 62 6f 6f 6b 29 0a 0a i.starwars.warrior.scifi.book)..
50c20 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 72 65 65 20 6f ..File:.dash.info,..Node:.Tree.o
50c40 70 65 72 61 74 69 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 perations,..Next:.Threading.macr
50c60 6f 73 2c 20 20 50 72 65 76 3a 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 os,..Prev:.Other.list.operations
50c80 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 31 20 54 72 65 65 20 6f 70 65 72 ,..Up:.Functions..2.11.Tree.oper
50ca0 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e ations.====================..Fun
50cc0 63 74 69 6f 6e 73 20 70 72 65 74 65 6e 64 69 6e 67 20 6c 69 73 74 73 20 61 72 65 20 74 72 65 65 ctions.pretending.lists.are.tree
50ce0 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 73 65 71 20 28 62 72 61 s....--.Function:.-tree-seq.(bra
50d00 6e 63 68 20 63 68 69 6c 64 72 65 6e 20 74 72 65 65 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 nch.children.tree)......Return.a
50d20 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 54 52 45 45 2c 20 .sequence.of.the.nodes.in.TREE,.
50d40 69 6e 20 64 65 70 74 68 2d 66 69 72 73 74 20 73 65 61 72 63 68 0a 20 20 20 20 20 6f 72 64 65 72 in.depth-first.search......order
50d60 2e 0a 0a 20 20 20 20 20 42 52 41 4e 43 48 20 69 73 20 61 20 70 72 65 64 69 63 61 74 65 20 6f 66 ........BRANCH.is.a.predicate.of
50d80 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e .one.argument.that.returns.non-n
50da0 69 6c 20 69 66 20 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 il.if.the......passed.argument.i
50dc0 73 20 61 20 62 72 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 s.a.branch,.that.is,.a.node.that
50de0 20 63 61 6e 20 68 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 .can.have......children........C
50e00 48 49 4c 44 52 45 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 HILDREN.is.a.function.of.one.arg
50e20 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 69 6c 64 72 65 6e 20 ument.that.returns.the.children.
50e40 6f 66 0a 20 20 20 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 of......the.passed.branch.node..
50e60 0a 20 20 20 20 20 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 ......Non-branch.nodes.are.simpl
50e80 79 20 63 6f 70 69 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 y.copied.............(-tree-seq.
50ea0 27 6c 69 73 74 70 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 'listp.'identity.'(1.(2.3).4.(5.
50ec0 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 28 28 31 20 28 (6.7))))...................((1.(
50ee0 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 20 33 20 34 20 2.3).4.(5.(6.7))).1.(2.3).2.3.4.
50f00 28 35 20 28 36 20 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 (5.(6.7)).5.(6.7).6.7)..........
50f20 20 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 28 31 20 .(-tree-seq.'listp.'reverse.'(1.
50f40 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (2.3).4.(5.(6.7)))).............
50f60 20 20 e2 87 92 20 28 28 31 20 28 32 20 33 29 20 34 20 28 35 20 28 36 20 37 29 29 29 20 28 35 20 ......((1.(2.3).4.(5.(6.7))).(5.
50f80 28 36 20 37 29 29 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 (6.7)).(6.7).7.6.5.4.(2.3).3.2.1
50fa0 29 0a 20 20 20 20 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 )...........(--tree-seq.(vectorp
50fc0 20 69 74 29 20 28 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 .it).(append.it.nil).[1.[2.3].4.
50fe0 5b 35 20 5b 36 20 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 [5.[6.7]]])...................([
51000 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 33 1.[2.3].4.[5.[6.7]]].1.[2.3].2.3
51020 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 0a 20 2d 2d 20 46 .4.[5.[6.7]].5.[6.7].6.7)...--.F
51040 75 6e 63 74 69 6f 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 unction:.-tree-map.(fn.tree)....
51060 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 20 54 52 ..Apply.FN.to.each.element.of.TR
51080 45 45 20 77 68 69 6c 65 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 74 72 65 65 0a 20 20 20 EE.while.preserving.the.tree....
510a0 20 20 73 74 72 75 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 ..structure.............(-tree-m
510c0 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 29 29 0a 20 ap.'1+.'(1.(2.3).(4.(5.6).7)))..
510e0 20 20 20 20 20 20 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 .................(2.(3.4).(5.(6.
51100 37 29 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 20 27 28 6c 61 7).8))...........(-tree-map.'(la
51120 6d 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 mbda.(x).(cons.x.(expt.2.x))).'(
51140 31 20 28 32 20 33 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 1.(2.3).4))...................((
51160 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 2e 20 31 36 1...2).((2...4).(3...8)).(4...16
51180 29 29 0a 20 20 20 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 ))...........(--tree-map.(length
511a0 20 69 74 29 20 27 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 .it).'("<body>".("<p>"."text"."<
511c0 2f 70 3e 22 29 20 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 /p>")."</body>"))...............
511e0 e2 87 92 20 28 36 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 ....(6.(3.4.4).7)...--.Function:
51200 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 6e 20 74 72 65 65 29 .-tree-map-nodes.(pred.fun.tree)
51220 0a 20 20 20 20 20 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 ......Call.FUN.on.each.node.of.T
51240 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 20 20 20 20 20 49 REE.that.satisfies.PRED........I
51260 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
51280 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
512a0 0a 20 20 20 20 20 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 ......returns.non-nil,.apply.FUN
512c0 20 74 6f 20 74 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 .to.this.node.and.do.not.descend
512e0 20 66 75 72 74 68 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 6d 61 70 2d .further.............(-tree-map-
51300 6e 6f 64 65 73 20 27 76 65 63 74 6f 72 70 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2d 73 75 6d nodes.'vectorp.(lambda.(x).(-sum
51320 20 28 61 70 70 65 6e 64 20 78 20 6e 69 6c 29 29 29 20 27 28 31 20 5b 32 20 33 5d 20 34 20 28 35 .(append.x.nil))).'(1.[2.3].4.(5
51340 20 5b 36 20 37 5d 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 .[6.7].8)))...................(1
51360 20 35 20 34 20 28 35 20 31 33 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d .5.4.(5.13.8))...........(-tree-
51380 6d 61 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 map-nodes.'keywordp.(lambda.(x).
513a0 28 73 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 (symbol-name.x)).'(1.:foo.4.((5.
513c0 36 20 3a 62 61 72 29 20 3a 62 61 7a 20 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6.:bar).:baz.8)))...............
513e0 e2 87 92 20 28 31 20 22 3a 66 6f 6f 22 20 34 20 28 28 35 20 36 20 22 3a 62 61 72 22 29 20 22 3a ....(1.":foo".4.((5.6.":bar").":
51400 62 61 7a 22 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 2d 6e baz".8))...........(--tree-map-n
51420 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
51440 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
51460 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
51480 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
514a0 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 20 20 20 ).(baz.(add-mode.c.d))))........
514c0 20 20 20 20 20 20 20 e2 87 92 20 28 77 69 74 68 2d 6d 6f 64 65 20 65 6d 61 63 73 2d 6c 69 73 70 ...........(with-mode.emacs-lisp
514e0 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 20 3a 6d -mode.(foo.bar).(add-mode.a.b.:m
51500 6f 64 65 20 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 ode.emacs-lisp-mode).(baz.(add-m
51520 6f 64 65 20 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 ode.c.d.:mode.emacs-lisp-mode)))
51540 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 66 6e ...--.Function:.-tree-reduce.(fn
51560 20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 6c 65 .tree)......Use.FN.to.reduce.ele
51580 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 ments.of.list.TREE...If.elements
515a0 20 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 6c 76 .of.TREE.are......lists.themselv
515c0 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
515e0 65 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 20 74 ely........FN.is.first.applied.t
51600 6f 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 61 6e 64 20 o.first.element.of.the.list.and.
51620 73 65 63 6f 6e 64 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 6f 6e 20 74 68 69 second......element,.then.on.thi
51640 73 20 72 65 73 75 6c 74 20 61 6e 64 20 74 68 69 72 64 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 s.result.and.third.element.from.
51660 74 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 the.list.etc........See....-redu
51680 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 20 66 6f 72 20 ce-r....(*note.-reduce-r::).for.
516a0 68 6f 77 20 65 78 61 63 74 6c 79 20 61 72 65 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 7a 65 how.exactly.are.lists.of......ze
516c0 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 20 20 20 20 ro.or.one.element.handled.......
516e0 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 2b 20 27 28 31 20 28 32 20 33 29 ......(-tree-reduce.'+.'(1.(2.3)
51700 20 28 34 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 35 0a 20 20 .(4.5)))...................15...
51720 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 20 27 63 6f 6e 63 61 74 20 27 28 ........(-tree-reduce.'concat.'(
51740 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 73 22 29 20 28 28 22 "strings".(".on".".various").(("
51760 20 6c 65 76 65 6c 73 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 .levels"))))..................."
51780 73 74 72 69 6e 67 73 20 6f 6e 20 76 61 72 69 6f 75 73 20 6c 65 76 65 6c 73 22 0a 20 20 20 20 20 strings.on.various.levels"......
517a0 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 72 65 64 75 63 65 20 28 63 6f 6e 64 20 28 28 73 74 72 69 .....(--tree-reduce.(cond.((stri
517c0 6e 67 70 20 69 74 29 20 28 63 6f 6e 63 61 74 20 69 74 20 22 20 22 20 61 63 63 29 29 20 28 74 20 ngp.it).(concat.it.".".acc)).(t.
517e0 28 6c 65 74 20 28 28 73 6e 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 29 20 28 63 6f (let.((sn.(symbol-name.it))).(co
51800 6e 63 61 74 20 22 3c 22 20 73 6e 20 22 3e 22 20 61 63 63 20 22 3c 2f 22 20 73 6e 20 22 3e 22 29 ncat."<".sn.">".acc."</".sn.">")
51820 29 29 29 20 27 28 62 6f 64 79 20 28 70 20 22 73 6f 6d 65 20 77 6f 72 64 73 22 29 20 28 64 69 76 ))).'(body.(p."some.words").(div
51840 20 22 6d 6f 72 65 22 20 28 62 20 22 62 6f 6c 64 22 29 20 22 77 6f 72 64 73 22 29 29 29 0a 20 20 ."more".(b."bold")."words")))...
51860 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 3c 62 6f 64 79 3e 3c 70 3e 73 6f 6d 65 20 77 ................"<body><p>some.w
51880 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 2f 62 3e 20 77 ords</p>.<div>more.<b>bold</b>.w
518a0 6f 72 64 73 3c 2f 64 69 76 3e 3c 2f 62 6f 64 79 3e 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ords</div></body>"...--.Function
518c0 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 66 6e 20 69 6e 69 74 2d 76 61 6c :.-tree-reduce-from.(fn.init-val
518e0 75 65 20 74 72 65 65 29 0a 20 20 20 20 20 55 73 65 20 46 4e 20 74 6f 20 72 65 64 75 63 65 20 65 ue.tree)......Use.FN.to.reduce.e
51900 6c 65 6d 65 6e 74 73 20 6f 66 20 6c 69 73 74 20 54 52 45 45 2e 20 20 49 66 20 65 6c 65 6d 65 6e lements.of.list.TREE...If.elemen
51920 74 73 20 6f 66 20 54 52 45 45 20 61 72 65 0a 20 20 20 20 20 6c 69 73 74 73 20 74 68 65 6d 73 65 ts.of.TREE.are......lists.themse
51940 6c 76 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 lves,.apply.the.reduction.recurs
51960 69 76 65 6c 79 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 66 69 72 73 74 20 61 70 70 6c 69 65 64 ively........FN.is.first.applied
51980 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 65 6d 65 6e 74 .to.INIT-VALUE.and.first.element
519a0 20 6f 66 20 74 68 65 20 6c 69 73 74 2c 0a 20 20 20 20 20 74 68 65 6e 20 6f 6e 20 74 68 69 73 20 .of.the.list,......then.on.this.
519c0 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
519e0 68 65 20 6c 69 73 74 20 65 74 63 2e 0a 0a 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 76 he.list.etc........The.initial.v
51a00 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 20 6f 6e 20 63 6f 6e 73 20 70 61 69 72 73 20 61 73 alue.is.ignored.on.cons.pairs.as
51a20 20 74 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 74 77 6f 20 65 6c .they.always.contain......two.el
51a40 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 74 72 65 65 2d 72 65 64 75 63 65 ements.............(-tree-reduce
51a60 2d 66 72 6f 6d 20 27 2b 20 31 20 27 28 31 20 28 31 20 31 29 20 28 28 31 29 29 29 29 0a 20 20 20 -from.'+.1.'(1.(1.1).((1))))....
51a80 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 ...............8...........(--tr
51aa0 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 20 28 2d 63 6f 6e 63 61 74 20 61 63 63 20 28 6c 69 73 ee-reduce-from.(-concat.acc.(lis
51ac0 74 20 69 74 29 29 20 6e 69 6c 20 27 28 31 20 28 32 20 33 20 28 34 20 35 29 29 20 28 36 20 37 29 t.it)).nil.'(1.(2.3.(4.5)).(6.7)
51ae0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 37 20 36 29 20 28 28 35 20 ))...................((7.6).((5.
51b00 34 29 20 33 20 32 29 20 31 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 74 72 65 65 2d 4).3.2).1)...--.Function:.-tree-
51b20 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 20 20 20 20 20 mapreduce.(fn.folder.tree)......
51b40 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 54 52 45 45 Apply.FN.to.each.element.of.TREE
51b60 2c 20 61 6e 64 20 6d 61 6b 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 ,.and.make.a.list.of.the.results
51b80 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 61 72 65 20 6c .......If.elements.of.TREE.are.l
51ba0 69 73 74 73 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 61 70 70 6c 79 20 46 4e 20 72 65 63 75 72 73 ists.themselves,.apply.FN.recurs
51bc0 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 68 65 73 65 20 ively.to......elements.of.these.
51be0 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 64 75 63 65 20 nested.lists........Then.reduce.
51c00 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 4f 4c 44 45 52 the.resulting.lists.using.FOLDER
51c20 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 54 2d 56 41 4c .and.initial.value......INIT-VAL
51c40 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 80 99 20 28 2a UE...See....-reduce-r-from....(*
51c60 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 20 20 20 54 68 note.-reduce-r-from::)........Th
51c80 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 80 98 2d 74 72 is.is.the.same.as.calling....-tr
51ca0 65 65 2d 72 65 64 75 63 65 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 72 65 64 75 63 65 ee-reduce....(*note.-tree-reduce
51cc0 3a 3a 29 0a 20 20 20 20 20 61 66 74 65 72 20 e2 80 98 2d 74 72 65 65 2d 6d 61 70 e2 80 99 20 28 ::)......after....-tree-map....(
51ce0 2a 6e 6f 74 65 20 2d 74 72 65 65 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 20 74 77 69 63 65 20 *note.-tree-map::).but.is.twice.
51d00 61 73 20 66 61 73 74 20 61 73 20 69 74 0a 20 20 20 20 20 6f 6e 6c 79 20 74 72 61 76 65 72 73 65 as.fast.as.it......only.traverse
51d20 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 .the.structure.once.............
51d40 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 6e 64 20 27 (-tree-mapreduce.'list.'append.'
51d60 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 29 29 0a 20 (1.(2.(3.4).(5.6)).(7.(8.9))))..
51d80 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 20 36 20 37 20 .................(1.2.3.4.5.6.7.
51da0 38 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 8.9)...........(--tree-mapreduce
51dc0 20 31 20 28 2b 20 69 74 20 61 63 63 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 32 20 31 29 .1.(+.it.acc).'(1.(2.(4.9).(2.1)
51de0 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ).(7.(4.3))))...................
51e00 39 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 20 30 20 9...........(--tree-mapreduce.0.
51e20 28 6d 61 78 20 61 63 63 20 28 31 2b 20 69 74 29 29 20 27 28 31 20 28 32 20 28 34 20 39 29 20 28 (max.acc.(1+.it)).'(1.(2.(4.9).(
51e40 32 20 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2.1)).(7.(4.3))))...............
51e60 e2 87 92 20 33 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 ....3...--.Function:.-tree-mapre
51e80 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 75 65 20 duce-from.(fn.folder.init-value.
51ea0 74 72 65 65 29 0a 20 20 20 20 20 41 70 70 6c 79 20 46 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d tree)......Apply.FN.to.each.elem
51ec0 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 20 ent.of.TREE,.and.make.a.list.of.
51ee0 74 68 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 49 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 the.results.......If.elements.of
51f00 20 54 52 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 .TREE.are.lists.themselves,.appl
51f20 79 20 46 4e 20 72 65 63 75 72 73 69 76 65 6c 79 20 74 6f 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 y.FN.recursively.to......element
51f40 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 20 20 20 20 20 54 s.of.these.nested.lists........T
51f60 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 20 75 hen.reduce.the.resulting.lists.u
51f80 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 20 20 sing.FOLDER.and.initial.value...
51fa0 20 20 20 49 4e 49 54 2d 56 41 4c 55 45 2e 20 20 53 65 65 20 e2 80 98 2d 72 65 64 75 63 65 2d 72 ...INIT-VALUE...See....-reduce-r
51fc0 2d 66 72 6f 6d e2 80 99 20 28 2a 6e 6f 74 65 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 3a -from....(*note.-reduce-r-from::
51fe0 29 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 63 61 6c )........This.is.the.same.as.cal
52000 6c 69 6e 67 20 e2 80 98 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d e2 80 99 20 28 2a 6e ling....-tree-reduce-from....(*n
52020 6f 74 65 0a 20 20 20 20 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 3a 3a 29 20 61 66 ote......-tree-reduce-from::).af
52040 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 2d 74 72 65 65 ter....-tree-map....(*note.-tree
52060 2d 6d 61 70 3a 3a 29 20 62 75 74 20 69 73 0a 20 20 20 20 20 74 77 69 63 65 20 61 73 20 66 61 73 -map::).but.is......twice.as.fas
52080 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 75 63 74 t.as.it.only.traverse.the.struct
520a0 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 2d 6d 61 70 72 ure.once.............(-tree-mapr
520c0 65 64 75 63 65 2d 66 72 6f 6d 20 27 69 64 65 6e 74 69 74 79 20 27 2a 20 31 20 27 28 31 20 28 32 educe-from.'identity.'*.1.'(1.(2
520e0 20 28 33 20 34 29 20 28 35 20 36 29 29 20 28 37 20 28 38 20 39 29 29 29 29 0a 20 20 20 20 20 20 .(3.4).(5.6)).(7.(8.9)))).......
52100 20 20 20 20 20 20 20 20 e2 87 92 20 33 36 32 38 38 30 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ............362880...........(--
52120 74 72 65 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 tree-mapreduce-from.(+.it.it).(c
52140 6f 6e 73 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 ons.it.acc).nil.'(1.(2.(4.9).(2.
52160 31 29 29 20 28 37 20 28 34 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 1)).(7.(4.3)))).................
52180 92 20 28 32 20 28 34 20 28 38 20 31 38 29 20 28 34 20 32 29 29 20 28 31 34 20 28 38 20 36 29 29 ..(2.(4.(8.18).(4.2)).(14.(8.6))
521a0 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 7b 22 20 28 2d 2d 74 72 65 65 2d )...........(concat."{".(--tree-
521c0 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 6f 6e 73 2d 70 61 69 mapreduce-from.(cond.((-cons-pai
521e0 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 6d 65 20 28 63 61 72 r?.it).(concat.(symbol-name.(car
52200 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 20 28 63 64 72 20 69 .it)).".->.".(symbol-name.(cdr.i
52220 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 6e 61 6d 65 20 69 74 t)))).(t.(concat.(symbol-name.it
52240 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 6e 6c 65 73 73 20 28 ).".:.{"))).(concat.it.(unless.(
52260 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 20 28 73 75 62 73 74 or.(equal.acc."}").(equal.(subst
52280 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 20 22 7b 22 29 29 20 ring.it.(1-.(length.it)))."{")).
522a0 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 6f 64 65 20 28 66 6f ",.").acc)."}".'((elisp-mode.(fo
522c0 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 75 78 29 29 20 28 63 o.(bar...booze)).(baz...qux)).(c
522e0 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 62 61 6d 29 29 29 29 -mode.(foo...bla).(bum...bam))))
52300 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 7b 65 6c 69 73 70 2d 6d 6f 64 65 )..................."{elisp-mode
52320 20 3a 20 7b 66 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 .:.{foo.:.{bar.->.booze},.baz.->
52340 20 71 75 78 7d 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 .qux},.c-mode.:.{foo.->.bla,.bum
52360 20 2d 3e 20 62 61 6d 7d 7d 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 63 6c 6f 6e 65 .->.bam}}"...--.Function:.-clone
52380 20 28 6c 69 73 74 29 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 20 64 65 65 70 20 63 6f 70 79 20 .(list)......Create.a.deep.copy.
523a0 6f 66 20 4c 49 53 54 2e 20 20 54 68 65 20 6e 65 77 20 6c 69 73 74 20 68 61 73 20 74 68 65 20 73 of.LIST...The.new.list.has.the.s
523c0 61 6d 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 ame.elements.and......structure.
523e0 62 75 74 20 61 6c 6c 20 63 6f 6e 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 6e but.all.cons.are.replaced.with.n
52400 65 77 20 6f 6e 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 0a 20 20 20 20 20 77 68 ew.ones...This.is.useful......wh
52420 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 6c 6f 6e 65 20 61 20 73 74 72 75 63 74 75 72 65 en.you.need.to.clone.a.structure
52440 20 73 75 63 68 20 61 73 20 70 6c 69 73 74 20 6f 72 20 61 6c 69 73 74 2e 0a 0a 20 20 20 20 20 20 .such.as.plist.or.alist.........
52460 20 20 20 20 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 6c 6f ....(let*.((a.'(1.2.3)).(b.(-clo
52480 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 20 20 20 20 ne.a))).(nreverse.a).b).........
524a0 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 61 73 68 2e ..........(1.2.3)....File:.dash.
524c0 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2c 20 20 info,..Node:.Threading.macros,..
524e0 4e 65 78 74 3a 20 42 69 6e 64 69 6e 67 2c 20 20 50 72 65 76 3a 20 54 72 65 65 20 6f 70 65 72 61 Next:.Binding,..Prev:.Tree.opera
52500 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 32 20 54 68 72 65 tions,..Up:.Functions..2.12.Thre
52520 61 64 69 6e 67 20 6d 61 63 72 6f 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ading.macros.===================
52540 3d 3d 0a 0a 4d 61 63 72 6f 73 20 74 68 61 74 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f ==..Macros.that.conditionally.co
52560 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 76 69 mbine.sequential.forms.for.brevi
52580 74 79 20 6f 72 0a 72 65 61 64 61 62 69 6c 69 74 79 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d ty.or.readability....--.Macro:.-
525a0 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 65 29 0a >.(x.&optional.form.&rest.more).
525c0 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 72 6f 75 67 68 20 74 68 65 .....Thread.the.expr.through.the
525e0 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 .forms...Insert.X.as.the.second.
52600 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 6d 2c 20 6d 61 6b item.in......the.first.form,.mak
52620 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 ing.a.list.of.it.if.it.is.not.a.
52640 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 65 20 61 72 65 20 list.already.......If.there.are.
52660 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
52680 6d 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 69 74 65 6d 0a 20 20 20 20 20 69 6e 20 73 65 63 m.as.the.second.item......in.sec
526a0 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 3e 20 27 28 ond.form,.etc.............(->.'(
526c0 32 20 33 20 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 33 20 35 2.3.5))...................(2.3.5
526e0 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 20 28 61 70 70 65 6e 64 )...........(->.'(2.3.5).(append
52700 20 27 28 38 20 31 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 .'(8.13)))...................(2.
52720 33 20 35 20 38 20 31 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 20 27 28 32 20 33 20 35 29 3.5.8.13)...........(->.'(2.3.5)
52740 20 28 61 70 70 65 6e 64 20 27 28 38 20 31 33 29 29 20 28 2d 73 6c 69 63 65 20 31 20 2d 31 29 29 .(append.'(8.13)).(-slice.1.-1))
52760 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 35 20 38 29 0a 0a 20 2d 2d 20 ...................(3.5.8)...--.
52780 4d 61 63 72 6f 3a 20 2d 3e 3e 20 28 78 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 Macro:.->>.(x.&optional.form.&re
527a0 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 54 68 72 65 61 64 20 74 68 65 20 65 78 70 72 20 74 68 st.more)......Thread.the.expr.th
527c0 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 73 2e 20 20 49 6e 73 65 72 74 20 58 20 61 73 20 74 68 rough.the.forms...Insert.X.as.th
527e0 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 66 6f e.last.item.in......the.first.fo
52800 72 6d 2c 20 6d 61 6b 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 69 74 20 69 66 20 69 74 20 69 73 rm,.making.a.list.of.it.if.it.is
52820 20 6e 6f 74 20 61 20 6c 69 73 74 20 61 6c 72 65 61 64 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 .not.a.list.already.......If.the
52840 72 65 20 61 72 65 20 6d 6f 72 65 20 66 6f 72 6d 73 2c 20 69 6e 73 65 72 74 20 74 68 65 20 66 69 re.are.more.forms,.insert.the.fi
52860 72 73 74 20 66 6f 72 6d 20 61 73 20 74 68 65 20 6c 61 73 74 20 69 74 65 6d 20 69 6e 0a 20 20 20 rst.form.as.the.last.item.in....
52880 20 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 ..second.form,.etc.............(
528a0 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 29 0a 20 20 20 ->>.'(1.2.3).(-map.'square))....
528c0 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 34 20 39 29 0a 20 20 20 20 20 20 20 20 20 ...............(1.4.9)..........
528e0 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d .(->>.'(1.2.3).(-map.'square).(-
52900 72 65 6d 6f 76 65 20 27 65 76 65 6e 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 remove.'even?)).................
52920 92 20 28 31 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 3e 3e 20 27 28 31 20 32 20 33 29 20 ..(1.9)...........(->>.'(1.2.3).
52940 28 2d 6d 61 70 20 27 73 71 75 61 72 65 29 20 28 2d 72 65 64 75 63 65 20 27 2b 29 29 0a 20 20 20 (-map.'square).(-reduce.'+))....
52960 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 34 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 2d ...............14...--.Macro:.--
52980 3e 20 28 78 20 26 72 65 73 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 53 74 61 72 74 69 6e 67 20 >.(x.&rest.forms)......Starting.
529a0 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
529c0 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 20 20 20 20 .expression.through.FORMS.......
529e0 20 49 6e 73 65 72 74 20 58 20 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 .Insert.X.at.the.position.signif
52a00 69 65 64 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 74 68 ied.by.the.symbol....it....in.th
52a20 65 20 66 69 72 73 74 0a 20 20 20 20 20 66 6f 72 6d 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 e.first......form...If.there.are
52a40 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
52a60 72 6d 20 61 74 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 73 69 67 6e 69 66 69 65 rm.at.the......position.signifie
52a80 64 20 62 79 20 e2 80 98 69 74 e2 80 99 20 69 6e 20 69 6e 20 73 65 63 6f 6e 64 20 66 6f 72 6d 2c d.by....it....in.in.second.form,
52aa0 20 65 74 63 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 28 63 6f 6e .etc.............(-->."def".(con
52ac0 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 cat."abc".it."ghi"))............
52ae0 20 20 20 e2 87 92 20 22 61 62 63 64 65 66 67 68 69 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d ......."abcdefghi"...........(--
52b00 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 22 29 20 >."def".(concat."abc".it."ghi").
52b20 28 75 70 63 61 73 65 20 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 (upcase.it))..................."
52b40 41 42 43 44 45 46 47 48 49 22 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 3e 20 22 64 65 66 22 20 ABCDEFGHI"...........(-->."def".
52b60 28 63 6f 6e 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 20 75 70 63 61 73 65 29 0a (concat."abc".it."ghi").upcase).
52b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 41 42 43 44 45 46 47 48 49 22 0a 0a 20 .................."ABCDEFGHI"...
52ba0 2d 2d 20 4d 61 63 72 6f 3a 20 2d 61 73 2d 3e 20 28 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 --.Macro:.-as->.(value.variable.
52bc0 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 69 74 68 20 &rest.forms)......Starting.with.
52be0 56 41 4c 55 45 2c 20 74 68 72 65 61 64 20 56 41 52 49 41 42 4c 45 20 74 68 72 6f 75 67 68 20 46 VALUE,.thread.VARIABLE.through.F
52c00 4f 52 4d 53 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 62 ORMS........In.the.first.form,.b
52c20 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 68 65 20 73 ind.VARIABLE.to.VALUE...In.the.s
52c40 65 63 6f 6e 64 20 66 6f 72 6d 2c 0a 20 20 20 20 20 62 69 6e 64 20 56 41 52 49 41 42 4c 45 20 74 econd.form,......bind.VARIABLE.t
52c60 6f 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 2c 20 o.the.result.of.the.first.form,.
52c80 61 6e 64 20 73 6f 20 66 6f 72 74 68 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 and.so.forth.............(-as->.
52ca0 33 20 6d 79 2d 76 61 72 20 28 31 2b 20 6d 79 2d 76 61 72 29 20 28 6c 69 73 74 20 6d 79 2d 76 61 3.my-var.(1+.my-var).(list.my-va
52cc0 72 29 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 29 20 28 2a 20 32 20 65 6c r).(mapcar.(lambda.(ele).(*.2.el
52ce0 65 29 29 20 6d 79 2d 76 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 e)).my-var))...................(
52d00 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 20 31 2b 29 8)...........(-as->.3.my-var.1+)
52d20 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 20 28 ...................4...........(
52d40 2d 61 73 2d 3e 20 33 20 6d 79 2d 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 -as->.3.my-var).................
52d60 92 20 33 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 73 6f 6d 65 2d 3e 20 28 78 20 26 6f 70 74 69 ..3...--.Macro:.-some->.(x.&opti
52d80 6f 6e 61 6c 20 66 6f 72 6d 20 26 72 65 73 74 20 6d 6f 72 65 29 0a 20 20 20 20 20 57 68 65 6e 20 onal.form.&rest.more)......When.
52da0 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 75 expr.is.non-nil,.thread.it.throu
52dc0 67 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 gh.the.first.form.(via....->....
52de0 20 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 .....(*note.->::)),.and.when.tha
52e00 74 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 75 67 68 20 74 68 65 t.result.is.non-nil,.through.the
52e20 20 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 .next......form,.etc............
52e40 20 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 .(-some->.'(2.3.5)).............
52e60 20 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 ......(2.3.5)...........(-some->
52e80 20 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 .5.square)...................25.
52ea0 20 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 ..........(-some->.5.even?.squar
52ec0 65 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 e)...................nil...--.Ma
52ee0 63 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 cro:.-some->>.(x.&optional.form.
52f00 26 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 &rest.more)......When.expr.is.no
52f20 6e 2d 6e 69 6c 2c 20 74 68 72 65 61 64 20 69 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 69 72 n-nil,.thread.it.through.the.fir
52f40 73 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 st.form.(via....->>.........(*no
52f60 74 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 te.->>::)),.and.when.that.result
52f80 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 0a 20 20 .is.non-nil,.through.the.next...
52fa0 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 28 2d 73 6f 6d 65 2d ...form,.etc.............(-some-
52fc0 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)).....
52fe0 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)...........
53000 28 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 (-some->>.'(1.3.5).(-last.'even?
53020 29 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 ).(+.100))...................nil
53040 0a 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 ...........(-some->>.'(2.4.6).(-
53060 6c 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 last.'even?).(+.100))...........
53080 20 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 ........106...--.Macro:.-some-->
530a0 20 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 .(expr.&rest.forms)......Thread.
530c0 45 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 EXPR.through.FORMS.via....-->...
530e0 20 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 .(*note.-->::),.while.the.result
53100 0a 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 ......is.non-nil...When.EXPR.eva
53120 6c 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 luates.to.non-nil,.thread.the.re
53140 73 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 sult......through.the.first.of.F
53160 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 20 6e 6f ORMS,.and.when.that.result.is.no
53180 6e 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 n-nil,.thread......it.through.th
531a0 65 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 e.next.form,.etc.............(-s
531c0 6f 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 ome-->."def".(concat."abc".it."g
531e0 68 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 hi"))..................."abcdefg
53200 68 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 hi"...........(-some-->.nil.(con
53220 63 61 74 20 22 61 62 63 22 20 69 74 20 22 67 68 69 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 cat."abc".it."ghi"))............
53240 20 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 .......nil...........(-some-->.'
53260 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 28 61 70 (0.1).(-remove.#'natnump.it).(ap
53280 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 0a 20 20 20 20 pend.it.it).(-map.#'1+.it)).....
532a0 20 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 ..............()...--.Macro:.-do
532c0 74 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 to.(init.&rest.forms)......Evalu
532e0 61 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 ate.INIT.and.pass.it.as.argument
53300 20 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 .to.FORMS.with....->....(*note..
53320 20 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 ....->::)...The.RESULT.of.evalua
53340 74 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 ting.INIT.is.threaded.through.ea
53360 63 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 ch.of......FORMS.individually.us
53380 69 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 ing....->....(*note.->::),.which
533a0 20 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 .see...The.return......value.is.
533c0 52 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 RESULT,.which.FORMS.may.have.mod
533e0 69 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 ified.by.side.effect............
53400 20 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 .(-doto.(list.1.2.3).pop.pop)...
53420 20 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 ................(3)...........(-
53440 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 28 73 65 74 63 doto.(cons.1.2).(setcar.3).(setc
53460 64 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 dr.4))...................(3...4)
53480 0a 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 ...........(gethash.'k.(--doto.(
534a0 6d 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 make-hash-table).(puthash.'k.'v.
534c0 69 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 it)))...................v....Fil
534e0 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 2c 20 20 4e e:.dash.info,..Node:.Binding,..N
53500 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 72 65 61 64 ext:.Side.effects,..Prev:.Thread
53520 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 32 2e 31 33 ing.macros,..Up:.Functions..2.13
53540 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 73 20 74 68 .Binding.============..Macros.th
53560 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 6c 65 74 2a at.combine....let....and....let*
53580 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 6c 6f 77 0a ....with.destructuring.and.flow.
535a0 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 65 74 20 28 control....--.Macro:.-when-let.(
535c0 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 66 20 56 41 (var.val).&rest.body)......If.VA
535e0 4c 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 69 74 20 L.evaluates.to.non-nil,.bind.it.
53600 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 20 20 20 4e to.VAR.and.execute.body........N
53620 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
53640 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 0a 0a 20 20 o....-let....(*note.-let::).....
53660 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 64 65 78 20 ........(-when-let.(match-index.
53680 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 2b 20 6d 61 (string-match."d"."abcd")).(+.ma
536a0 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 e2 87 92 20 tch-index.2))...................
536c0 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 69 73 74 20 5...........(-when-let.((&plist.
536e0 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 20 66 6f 6f :foo.foo).(list.:foo."foo")).foo
53700 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 20 20 20 20 )..................."foo".......
53720 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 20 66 6f 6f ....(-when-let.((&plist.:foo.foo
53740 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 20 20 20 20 ).(list.:bar."bar")).foo).......
53760 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 2d 77 68 65 ............nil...--.Macro:.-whe
53780 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 20 20 n-let*.(vars-vals.&rest.body)...
537a0 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 72 75 65 2c ...If.all.VALS.evaluate.to.true,
537c0 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
537e0 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 2e 20 20 56 g.VARS......and.execute.body...V
53800 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 20 28 56 41 ARS-VALS.should.be.a.list.of.(VA
53820 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 6e 64 69 6e R.VAL).pairs........Note:.bindin
53840 67 20 69 73 20 64 6f 6e 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 2a e2 g.is.done.according.to....-let*.
53860 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 20 20 20 61 ...(*note.-let*::)...VALS......a
53880 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 6e 64 20 65 re.evaluated.sequentially,.and.e
538a0 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 0a valuation.stops.after.the.first.
538c0 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 0a 0a 20 20 .....nil.VAL.is.encountered.....
538e0 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 79 20 33 29 ........(-when-let*.((x.5).(y.3)
53900 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 20 20 20 20 .(z.(+.y.4))).(+.x.y.z))........
53920 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 65 6e 2d 6c ...........15...........(-when-l
53940 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 20 78 20 79 et*.((x.5).(y.nil).(z.7)).(+.x.y
53960 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 20 2d 2d 20 .z))...................nil...--.
53980 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 65 6e 20 26 Macro:.-if-let.((var.val).then.&
539a0 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 61 74 65 73 rest.else)......If.VAL.evaluates
539c0 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 61 6e 64 20 .to.non-nil,.bind.it.to.VAR.and.
539e0 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 4c 53 45 2e do.THEN,.otherwise......do.ELSE.
53a00 0a 0a 20 20 20 20 20 4e 6f 74 65 3a 20 62 69 6e 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 61 63 63 .......Note:.binding.is.done.acc
53a20 6f 72 64 69 6e 67 20 74 6f 20 e2 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 ording.to....-let....(*note.-let
53a40 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 69 66 2d 6c 65 74 20 28 6d 61 74 63 68 2d ::).............(-if-let.(match-
53a60 69 6e 64 65 78 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 64 22 20 22 61 62 63 22 29 29 20 index.(string-match."d"."abc")).
53a80 28 2b 20 6d 61 74 63 68 2d 69 6e 64 65 78 20 33 29 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 (+.match-index.3).7)............
53aa0 20 20 20 e2 87 92 20 37 0a 20 20 20 20 20 20 20 20 20 20 28 2d 2d 69 66 2d 6c 65 74 20 28 65 76 .......7...........(--if-let.(ev
53ac0 65 6e 3f 20 34 29 20 69 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 en?.4).it.nil)..................
53ae0 20 74 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 69 66 2d 6c 65 74 2a 20 28 76 61 72 73 2d 76 61 .t...--.Macro:.-if-let*.(vars-va
53b00 6c 73 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 0a 20 20 20 20 20 49 66 20 61 6c 6c 20 ls.then.&rest.else)......If.all.
53b20 56 41 4c 53 20 65 76 61 6c 75 61 74 65 20 74 6f 20 74 72 75 65 2c 20 62 69 6e 64 20 74 68 65 6d VALS.evaluate.to.true,.bind.them
53b40 20 74 6f 20 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 56 41 52 53 0a 20 20 20 .to.their.corresponding.VARS....
53b60 20 20 61 6e 64 20 64 6f 20 54 48 45 4e 2c 20 6f 74 68 65 72 77 69 73 65 20 64 6f 20 45 4c 53 45 ..and.do.THEN,.otherwise.do.ELSE
53b80 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
53ba0 20 28 56 41 52 0a 20 20 20 20 20 56 41 4c 29 20 70 61 69 72 73 2e 0a 0a 20 20 20 20 20 4e 6f 74 .(VAR......VAL).pairs........Not
53bc0 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.
53be0 e2 80 98 2d 6c 65 74 2a e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 2a 3a 3a 29 2e 20 20 56 41 ...-let*....(*note.-let*::)...VA
53c00 4c 53 0a 20 20 20 20 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 73 65 71 75 65 6e 74 69 61 6c LS......are.evaluated.sequential
53c20 6c 79 2c 20 61 6e 64 20 65 76 61 6c 75 61 74 69 6f 6e 20 73 74 6f 70 73 20 61 66 74 65 72 20 74 ly,.and.evaluation.stops.after.t
53c40 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 6f 75 6e 74 he.first......nil.VAL.is.encount
53c60 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 28 78 20 35 ered.............(-if-let*.((x.5
53c80 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 6f 22 29 0a ).(y.3).(z.7)).(+.x.y.z)."foo").
53ca0 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 20 20 28 ..................15...........(
53cc0 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 29 29 20 28 -if-let*.((x.5).(y.nil).(z.7)).(
53ce0 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 20 20 e2 87 +.x.y.z)."foo").................
53d00 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 28 28 28 5f .."foo"...........(-if-let*.(((_
53d20 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 20 20 20 20 ._.x).'(nil.nil.7))).x).........
53d40 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 20 28 76 61 ..........7...--.Macro:.-let.(va
53d60 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 76 61 72 69 rlist.&rest.body)......Bind.vari
53d80 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 68 65 6e 20 ables.according.to.VARLIST.then.
53da0 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 61 20 6c 69 eval.BODY........VARLIST.is.a.li
53dc0 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 54 45 52 4e st.of.lists.of.the.form.(PATTERN
53de0 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 20 69 73 20 .SOURCE)...Each......PATTERN.is.
53e00 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 73 74 72 75 matched.against.the.SOURCE."stru
53e20 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 6e 6c 79 20 cturally"...SOURCE.is......only.
53e40 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 45 52 4e 2e evaluated.once.for.each.PATTERN.
53e60 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 20 20 20 72 ..Each.PATTERN.is.matched......r
53e80 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 6f ecursively,.and.can.therefore.co
53ea0 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 20 20 20 ntain.sub-patterns.which.are....
53ec0 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 69 6e 67 20 ..matched.against.corresponding.
53ee0 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 20 20 20 20 sub-expressions.of.SOURCE.......
53f00 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 20 62 65 66 .All.the.SOURCEs.are.evalled.bef
53f20 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 2e 65 2e 20 ore.any.symbols.are.bound.(i.e..
53f40 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 49 66 20 56 ."in......parallel")........If.V
53f60 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 54 54 45 52 ARLIST.only.contains.one.(PATTER
53f80 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 20 20 20 20 N.SOURCE).element,.you.can......
53fa0 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 61 20 76 65 optionally.specify.it.using.a.ve
53fc0 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 72 2d 6d 6f ctor.and.discarding.the.outer-mo
53fe0 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 28 2d 6c 65 st......parens...Thus.......(-le
54000 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 20 20 20 20 t.((PATTERN.SOURCE))....).......
54020 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 20 53 4f 55 becomes.......(-let.[PATTERN.SOU
54040 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 28 2a 6e 6f RCE]....)...........-let....(*no
54060 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 20 6f 66 20 te.-let::).uses.a.convention.of.
54080 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 62 6f 6c 73 not.binding.places......(symbols
540a0 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 74 e2 80 99 ).starting.with._.whenever.it...
540c0 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 73 0a 20 20 s.possible...You.can.use.this...
540e0 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 64 6f 6e e2 ...to.skip.over.entries.you.don.
54100 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 69 73 20 69 ..t.care.about...However,.this.i
54120 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 20 28 61 73 s.not......*always*.possible.(as
54140 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 20 61 6e 64 .a.result.of.implementation).and
54160 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 74 20 62 6f .these.symbols......might.get.bo
54180 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 20 20 20 46 und.to.undefined.values........F
541a0 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 73 75 70 70 ollowing.is.the.overview.of.supp
541c0 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 61 74 0a 20 orted.patterns...Remember.that..
541e0 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 72 65 63 75 ....patterns.can.be.matched.recu
54200 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 6e 20 74 68 rsively,.so.every.a,.b,.aK.in.th
54220 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 74 63 68 69 e......following.can.be.a.matchi
54240 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 72 69 6c 79 ng.construct.and.not.necessarily
54260 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 20 20 20 53 .a......symbol/variable........S
54280 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 55 52 43 45 ymbol:.......a.-.bind.the.SOURCE
542a0 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 67 75 6c 61 .to.A...This.is.just.like.regula
542c0 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 64 20 6c 69 r....let...........Conses.and.li
542e0 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 e2 80 99 20 sts:.......(a).-.bind....car....
54300 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 20 20 62 29 of.cons/list.to.A.......(a....b)
54320 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 20 e2 80 98 .-.bind.car.of.cons.to.A.and....
54340 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 6e 64 20 63 cdr....to.B.......(a.b).-.bind.c
54360 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 80 99 20 74 ar.of.list.to.A.and....cadr....t
54380 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 69 6e 64 20 o.B.......(a1.a2.a3....).-.bind.
543a0 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 6f 20 41 32 0th.car.of.list.to.A1,.1st.to.A2
543c0 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 31 20 61 32 ,.2nd.to......A3..........(a1.a2
543e0 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 76 65 2c 20 .a3.....aN....rest).-.as.above,.
54400 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 2e 0a 0a 20 but.bind.the.Nth.cdr.to.REST....
54420 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 64 20 30 74 ....Vectors:.......[a].-.bind.0t
54440 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 65 6e 63 65 h.element.of.a.non-list.sequence
54460 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 72 73 2c 20 .to.A.(works.with......vectors,.
54480 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 20 5b 61 strings,.bit.arrays...).......[a
544a0 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 20 1.a2.a3....].-.bind.0th.element.
544c0 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 31 73 74 0a of.non-list.sequence.to.A0,.1st.
544e0 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 49 66 20 74 .....to.A1,.2nd.to.A2,......If.t
54500 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 4f 55 52 43 he.PATTERN.is.shorter.than.SOURC
54520 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 20 6e 6f 74 E,.the......values.at.places.not
54540 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 20 74 68 65 .in.PATTERN.are.ignored...If.the
54560 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 20 53 4f 55 .PATTERN.is......longer.than.SOU
54580 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 6e 2e 0a 0a RCE,.an....error....is.thrown...
545a0 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 74 5d 20 2d .....[a1.a2.a3.....&rest.rest].-
545c0 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 20 6f 66 20 .as.above,.but.bind.the.rest.of.
545e0 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 54 68 69 73 the......sequence.to.REST...This
54600 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 20 69 6d 70 .is.conceptually.the.same.as.imp
54620 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 20 61 32 20 roper.list......matching.(a1.a2.
54640 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 6c 75 65 20 ....aN....rest).......Key/value.
54660 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 30 20 2e 2e stores:.......(&plist.key0.a0...
54680 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 62 ..keyN.aN).-.bind.value.mapped.b
546a0 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 69 73 74 20 y.keyK.in.the......SOURCE.plist.
546c0 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 6f 75 6e 64 to.aK..If.the.value.is.not.found
546e0 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 6c 69 73 74 ,.aK.is.nil...Uses.........plist
54700 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 20 20 20 28 -get....to.fetch.values........(
54720 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 2d 20 62 69 &alist.key0.a0.....keyN.aN).-.bi
54740 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b 65 79 4b 20 69 6e 20 74 68 65 0a 20 nd.value.mapped.by.keyK.in.the..
54760 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 68 65 20 76 ....SOURCE.alist.to.aK..If.the.v
54780 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 20 20 55 alue.is.not.found,.aK.is.nil...U
547a0 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 68 20 76 61 ses.........assoc....to.fetch.va
547c0 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 2e 2e 20 6b lues........(&hash.key0.a0.....k
547e0 65 79 4e 20 61 4e 29 20 2d 20 62 69 6e 64 20 76 61 6c 75 65 20 6d 61 70 70 65 64 20 62 79 20 6b eyN.aN).-.bind.value.mapped.by.k
54800 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 74 61 62 6c eyK.in.the......SOURCE.hash.tabl
54820 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 20 66 6f 75 e.to.aK..If.the.value.is.not.fou
54840 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 67 65 74 68 nd,.aK.is.nil.......Uses....geth
54860 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 20 20 46 75 ash....to.fetch.values........Fu
54880 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 73 75 70 rther,.special.keyword.&keys.sup
548a0 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 20 20 20 20 ports."inline".matching.of......
548c0 70 6c 69 73 74 2d 6c 69 6b 65 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 73 69 6d 69 plist-like.key-value.pairs,.simi
548e0 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 20 20 20 e2 larly.to.&keys.keyword.of.......
54900 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 2e 2e 2e 20 ..cl-defun...........(a1.a2.....
54920 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 29 0a 0a 20 aN.&keys.key1.b1.....keyN.bK)...
54940 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 20 74 68 65 ....This.binds.N.values.from.the
54960 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 65 72 70 72 .list.to.a1.....aN,.then.interpr
54980 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 28 73 65 65 ets.the......cdr.as.a.plist.(see
549a0 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 0a 20 20 20 .key/value.matching.above)......
549c0 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 76 2d 64 65 ..A.shorthand.notation.for.kv-de
549e0 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 20 structuring.exists.which.allows.
54a00 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 6c 6c 79 20 the......patterns.be.optionally.
54a20 6c 65 66 74 20 6f 75 74 20 61 6e 64 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6b 65 left.out.and.derived.from.the.ke
54a40 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 20 66 61 73 y.name.in......the.following.fas
54a60 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 63 6f 6e 76 hion:.......-.a.key.:foo.is.conv
54a80 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 2c 20 2d 20 erted.into....foo....pattern,.-.
54aa0 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 65 64 20 69 a.key....bar.is......converted.i
54ac0 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 65 79 20 22 nto....bar....pattern,.-.a.key."
54ae0 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 7a e2 80 99 baz".is.converted.into....baz...
54b00 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 2c 20 74 68 ......pattern........That.is,.th
54b20 65 20 65 6e 74 69 72 65 20 76 61 6c 75 65 20 75 6e 64 65 72 20 74 68 65 20 6b 65 79 20 69 73 20 e.entire.value.under.the.key.is.
54b40 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 72 69 61 62 bound.to.the.derived......variab
54b60 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 75 63 74 75 le.without.any.further.destructu
54b80 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 20 6f 6e 6c ring........This.is.possible.onl
54ba0 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 65 20 6b 65 y.when.the.form.following.the.ke
54bc0 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 6e 20 28 69 y.is.not.a......valid.pattern.(i
54be0 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 6c 6c 20 6f .e...not.a.symbol,.a.cons.cell.o
54c00 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 74 68 65 20 r.a.vector).......Otherwise.the.
54c20 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 20 69 matching.proceeds.as.usual.and.i
54c40 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 65 63 20 66 n.case.of.an.invalid......spec.f
54c60 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 75 73 20 74 ails.with.an.error........Thus.t
54c80 68 65 20 70 61 74 74 65 72 6e 73 20 61 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 61 73 20 66 6f he.patterns.are.normalized.as.fo
54ca0 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 68 65 20 6d llows:.......;;.derive.all.the.m
54cc0 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 20 e2 80 99 issing.patterns.(&plist.:foo....
54ce0 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 66 6f 6f 20 bar."baz").=>......(&plist.:foo.
54d00 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 20 20 20 20 foo....bar.bar."baz".baz).......
54d20 3b 3b 20 77 65 20 63 61 6e 20 73 70 65 63 69 66 79 20 73 6f 6d 65 20 62 75 74 20 6e 6f 74 20 6f ;;.we.can.specify.some.but.not.o
54d40 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 20 20 20 65 thers.(&plist.:foo....bar......e
54d60 78 70 6c 69 63 69 74 2d 62 61 72 29 20 3d 3e 20 28 26 70 6c 69 73 74 20 3a 66 6f 6f 20 66 6f 6f xplicit-bar).=>.(&plist.:foo.foo
54d80 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 3b 3b 20 6e ....bar.explicit-bar).......;;.n
54da0 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 6f 20 69 6e othing.happens,.we.store.:foo.in
54dc0 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 74 0a 20 20 .x.(&plist.:foo.x).=>.(&plist...
54de0 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 68 61 70 70 ...:foo.x).......;;.nothing.happ
54e00 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 70 6c 69 73 ens,.we.match.recursively.(&plis
54e20 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 69 73 74 20 t.:foo.(a.b.c)).=>......(&plist.
54e40 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 6e 61 6d 65 :foo.(a.b.c)).......You.can.name
54e60 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 20 53 59 4d .the.source.using.the.syntax.SYM
54e80 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 73 79 6e 74 BOL.&as.PATTERN...This......synt
54ea0 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 6f 72 20 69 ax.works.with.lists.(proper.or.i
54ec0 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 70 65 73 0a mproper),.vectors.and.all.types.
54ee0 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 73 20 61 20 .....of.maps........(list.&as.a.
54f00 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 73 20 41 20 b.c).(list.1.2.3).......binds.A.
54f20 74 6f 20 31 2c 20 42 20 74 6f 20 32 2c 20 43 20 74 6f 20 33 20 61 6e 64 20 4c 49 53 54 20 74 6f to.1,.B.to.2,.C.to.3.and.LIST.to
54f40 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 20 20 20 20 .(1.2.3)........Similarly:......
54f60 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 6e 73 20 31 .(bounds.&as.beg....end).(cons.1
54f80 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 44 20 74 6f .2).......binds.BEG.to.1,.END.to
54fa0 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 20 20 20 20 .2.and.BOUNDS.to.(1....2).......
54fc0 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 6c 69 73 74 .(items.&as.first....rest).(list
54fe0 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 20 31 2c 20 .1.2.3).......binds.FIRST.to.1,.
55000 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 31 20 32 20 REST.to.(2.3).and.ITEMS.to.(1.2.
55020 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 20 32 20 33 3).......[vect.&as._.b.c].[1.2.3
55040 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 20 61 6e 64 ].......binds.B.to.2,.C.to.3.and
55060 20 56 45 43 54 20 74 6f 20 5b 31 20 32 20 33 5d 20 28 5f 20 61 76 6f 69 64 73 20 62 69 6e 64 69 .VECT.to.[1.2.3].(_.avoids.bindi
55080 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 69 73 74 20 ng.as......usual)........(plist.
550a0 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 3a 62 20 32 &as.&plist.:b.b).(list.:a.1.:b.2
550c0 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 64 20 50 4c .:c.3).......binds.B.to.2.and.PL
550e0 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 6d 65 20 66 IST.to.(:a.1.:b.2.:c.3)...Same.f
55100 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 20 20 20 20 or.&alist.and......&hash........
55120 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 65 6e 20 77 This.is.especially.useful.when.w
55140 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 20 6f 66 20 e.want.to.capture.the.result.of.
55160 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 75 63 74 75 a......computation.and.destructu
55180 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 65 72 20 74 re.at.the.same.time...Consider.t
551a0 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 6e 69 6e 67 he.form......(function-returning
551c0 2d 63 6f 6d 70 6c 65 78 2d 73 74 72 75 63 74 75 72 65 29 20 72 65 74 75 72 6e 69 6e 67 20 61 20 -complex-structure).returning.a.
551e0 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 68 20 74 77 list.of.two......vectors.with.tw
55200 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 70 74 75 72 o.items.each...We.want.to.captur
55220 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 64 20 70 61 e.this.entire.result......and.pa
55240 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 75 ss.it.to.another.computation,.bu
55260 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 6f 0a 20 20 t.at.the.same.time.we.want.to...
55280 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 65 61 63 68 ...get.the.second.item.from.each
552a0 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 77 69 74 68 .vector...We.can.achieve.it.with
552c0 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 26 61 73 20 ......pattern.......(result.&as.
552e0 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 6e 69 6e 67 [_.a].[_.b]).(function-returning
55300 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 74 65 3a 20 -complex-structure).......Note:.
55320 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 20 74 68 69 Clojure.programmers.may.know.thi
55340 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 69 6e 64 69 s.feature.as.the.":as......bindi
55360 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 77 65 20 ng"...The.difference.is.that.we.
55380 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 20 20 62 65 put.the.&as.at.the.front......be
553a0 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 72 6f 70 65 cause.we.need.to.support.imprope
553c0 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 2d 6c 65 74 r.list.binding.............(-let
553e0 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 69 .(([a.(b.c).d].[1.(2.3).4])).(li
55400 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 28 st.a.b.c.d))...................(
55420 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 20 62 20 63 1.2.3.4)...........(-let.[(a.b.c
55440 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 69 73 74 20 ...d).(list.1.2.3.4.5.6)].(list.
55460 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 28 31 20 32 a.b.c.d))...................(1.2
55480 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 5b 28 26 70 .3.(4.5.6))...........(-let.[(&p
554a0 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 74 20 3a 62 list.:foo.foo.:bar.bar).(list.:b
554c0 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 28 6c 69 73 az.3.:foo.1.:qux.4.:bar.2)].(lis
554e0 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 92 20 28 31 t.foo.bar))...................(1
55500 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 73 74 20 26 .2)...--.Macro:.-let*.(varlist.&
55520 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 65 73 20 61 rest.body)......Bind.variables.a
55540 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 74 68 65 6e 20 65 76 61 6c 20 42 4f ccording.to.VARLIST.then.eval.BO
55560 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 6f 66 20 6c DY........VARLIST.is.a.list.of.l
55580 69 73 74 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 20 53 4f 55 52 43 45 ists.of.the.form.(PATTERN.SOURCE
555a0 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 63 68 65 64 )...Each......PATTERN.is.matched
555c0 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 61 6c 6c 79 .against.the.SOURCE.structurally
555e0 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 61 74 65 64 ...SOURCE.is.only......evaluated
55600 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 20 20 45 61 .once.for.each.PATTERN........Ea
55620 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 79 6d 62 6f ch.SOURCE.can.refer.to.the.symbo
55640 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 4c 49 53 54 ls.already.bound.by.this.VARLIST
55660 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 20 77 61 6e .......This.is.useful.if.you.wan
55680 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 72 73 69 76 t.to.destructure.SOURCE.recursiv
556a0 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 6d 65 20 74 ely.but......also.want.to.name.t
556c0 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 20 20 20 he.intermediate.structures......
556e0 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 3a 3a 29 20 ..See....-let....(*note.-let::).
55700 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 70 61 74 for.the.list.of.all.possible.pat
55720 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 61 20 2e 20 terns.............(-let*.(((a...
55740 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.
55760 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 20 20 20 20 4))).(list.a.b.c.d))............
55780 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 2d 6c 65 74 .......(1.2.3.4)...........(-let
557a0 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 33 29 29 29 *.(((a...b).(cons.1.(cons.2.3)))
557c0 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 29 0a 20 20 .((c...d).b)).(list.a.b.c.d))...
557e0 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 20 33 29 0a ................(1.(2...3).2.3).
55800 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 66 6f 6f 22 ..........(-let*.(((&alist."foo"
55820 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 22 66 6f 6f .foo."bar".bar).(list.(cons."foo
55840 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 20 27 63 29 ".1).(cons."bar".(list.'a.'b.'c)
55860 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 20 61 20 62 ))).((a.b.c).bar)).(list.foo.a.b
55880 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 31 20 61 20 .c.bar))...................(1.a.
558a0 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 6d 62 64 61 b.c.(a.b.c))...--.Macro:.-lambda
558c0 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 20 20 52 65 .(match-form.&rest.body)......Re
558e0 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 72 65 73 turn.a.lambda.which.destructures
55900 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 0a 20 20 20 .its.input.as.MATCH-FORM.and....
55920 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 74 68 61 74 ..executes.BODY........Note.that
55940 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 43 48 2d 46 .you.have.to.enclose.the.MATCH-F
55960 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 20 20 73 75 ORM.in.a.pair.of.parens,......su
55980 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 62 6f 64 79 ch.that:.......(-lambda.(x).body
559a0 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 20 20 20 20 ).(-lambda.(x.y....).body)......
559c0 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 e2 80 98 6c .has.the.usual.semantics.of....l
559e0 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 65 20 67 65 ambda......Furthermore,.these.ge
55a00 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 6c 20 e2 80 t......translated.into.normal...
55a20 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 65 72 66 6f .lambda...,.so.there.is.no.perfo
55a40 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 65 65 20 e2 rmance......penalty........See..
55a60 80 98 2d 6c 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6c 65 74 3a 3a 29 20 66 6f 72 20 61 20 64 ..-let....(*note.-let::).for.a.d
55a80 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 0a escription.of.the.destructuring.
55aa0 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 2d 6d 61 70 .....mechanism.............(-map
55ac0 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.
55ae0 32 29 20 28 33 20 34 29 20 28 35 20 36 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 2).(3.4).(5.6)))................
55b00 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 28 2d 6c 61 ...(3.7.11)...........(-map.(-la
55b20 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 5d 20 5b 33 mbda.([x.y]).(+.x.y)).'([1.2].[3
55b40 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 92 20 28 33 .4].[5.6]))...................(3
55b60 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 6c 61 6d 62 .7.11)...........(funcall.(-lamb
55b80 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 74 20 61 20 da.((_...a).(_...b)).(-concat.a.
55ba0 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 20 20 20 20 b)).'(1.2.3).'(4.5.6))..........
55bc0 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 6f 3a 20 2d .........(2.3.5.6)...--.Macro:.-
55be0 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 20 20 20 20 setq.([match-form.val]....).....
55c00 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 20 76 61 6c .Bind.each.MATCH-FORM.to.the.val
55c20 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 4f 52 4d 20 ue.of.its.VAL........MATCH-FORM.
55c40 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 6e 67 20 destructuring.is.done.according.
55c60 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 20 20 20 20 to.the.rules.of....-let.........
55c80 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 61 63 72 6f (*note.-let::)........This.macro
55ca0 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 76 61 72 .allows.you.to.bind.multiple.var
55cc0 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 20 74 68 65 iables.by.destructuring......the
55ce0 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 20 20 28 2d .value,.so.for.example:.......(-
55d00 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 6c 69 73 74 setq.(a.b).x.(&plist.:c.c).plist
55d20 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 6b 69 6e 67 ).......expands.roughly.speaking
55d40 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 20 28 73 65 .to.the.following.code.......(se
55d60 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 6c 69 73 74 tq.a.(car.x).b.(cadr.x).c.(plist
55d80 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 73 20 74 61 -get.plist.:c)).......Care.is.ta
55da0 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 4c 20 6f 6e ken.to.only.evaluate.each.VAL.on
55dc0 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 75 6c 74 69 ce.so.that.in.case.of......multi
55de0 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 63 61 75 73 ple.assignments.it.does.not.caus
55e00 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 20 20 20 20 e.unexpected.side.effects.......
55e20 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 29 0a 20 20 ......(let.(a).(-setq.a.1).a)...
55e40 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 ................1...........(let
55e60 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 32 29 29 20 .(a.b).(-setq.(a.b).(list.1.2)).
55e80 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 92 20 28 31 (list.a.b))...................(1
55ea0 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 71 20 28 26 .2)...........(let.(c).(-setq.(&
55ec0 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 29 0a 20 20 plist.:c.c).(list.:c."c")).c)...
55ee0 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 20 64 61 73 ................"c"....File:.das
55f00 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 4e 65 h.info,..Node:.Side.effects,..Ne
55f20 78 74 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 50 72 65 xt:.Destructive.operations,..Pre
55f40 76 3a 20 42 69 6e 64 69 6e 67 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 34 v:.Binding,..Up:.Functions..2.14
55f60 20 53 69 64 65 20 65 66 66 65 63 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a .Side.effects.=================.
55f80 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 20 .Functions.iterating.over.lists.
55fa0 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 20 6f 6e 6c 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 for.side.effect.only....--.Funct
55fc0 69 6f 6e 3a 20 2d 65 61 63 68 20 28 6c 69 73 74 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 ion:.-each.(list.fn)......Call.F
55fe0 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 20 20 52 65 74 75 N.on.each.element.of.LIST...Retu
56000 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 69 6e rn.nil;.this.function.is......in
56020 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 49 tended.for.side.effects........I
56040 74 73 20 61 6e 61 70 68 6f 72 69 63 20 63 6f 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d ts.anaphoric.counterpart.is....-
56060 2d 65 61 63 68 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 63 63 65 73 73 20 74 6f 20 74 68 -each...........For.access.to.th
56080 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 e2 80 99 73 20 69 6e 64 65 78 20 69 6e 20 4c e.current.element...s.index.in.L
560a0 49 53 54 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 98 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 e2 80 IST,.see.........-each-indexed..
560c0 99 20 28 2a 6e 6f 74 65 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 ..(*note.-each-indexed::).......
560e0 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 ......(let.(l).(-each.'(1.2.3).(
56100 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 lambda.(x).(push.x.l))).l)......
56120 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 .............(3.2.1)...........(
56140 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 28 70 75 73 68 20 69 let.(l).(--each.'(1.2.3).(push.i
56160 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 32 20 t.l)).l)...................(3.2.
56180 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 65 61 63 68 20 27 28 31 20 32 20 33 29 20 23 27 69 1)...........(-each.'(1.2.3).#'i
561a0 64 65 6e 74 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a dentity)...................nil..
561c0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 .--.Function:.-each-while.(list.
561e0 70 72 65 64 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 pred.fn)......Call.FN.on.each.IT
56200 45 4d 20 69 6e 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 20 69 73 EM.in.LIST,.while.(PRED.ITEM).is
56220 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 0a 20 20 20 20 20 61 6e 20 49 54 45 4d 20 69 73 20 .non-nil...Once......an.ITEM.is.
56240 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e reached.for.which.PRED.returns.n
56260 69 6c 2c 20 46 4e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e il,.FN.is.no.longer......called.
56280 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 ..Return.nil;.this.function.is.i
562a0 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 20 ntended.for.side.effects........
562c0 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 e2 80 98 Its.anaphoric.counterpart.is....
562e0 2d 2d 65 61 63 68 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 --each-while................(let
56300 20 28 6c 29 20 28 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 32 20 34 20 35 20 36 29 20 23 27 65 .(l).(-each-while.'(2.4.5.6).#'e
56320 76 65 6e 3f 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 ven?.(lambda.(x).(push.x.l))).l)
56340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 32 29 0a 20 20 20 20 20 20 20 ...................(4.2)........
56360 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 77 68 69 6c 65 20 27 28 31 20 32 20 ...(let.(l).(--each-while.'(1.2.
56380 33 20 34 29 20 28 3c 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 3.4).(<.it.3).(push.it.l)).l)...
563a0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 ................(2.1)...........
563c0 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 20 33 (let.((s.0)).(--each-while.'(1.3
563e0 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 29 29 .4.5).(<.it.5).(setq.s.(+.s.it))
56400 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 0a 0a 20 2d 2d 20 46 75 ).s)...................8...--.Fu
56420 6e 63 74 69 6f 6e 3a 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 nction:.-each-indexed.(list.fn).
56440 20 20 20 20 20 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 .....Call.FN.on.each.index.and.e
56460 6c 65 6d 65 6e 74 20 6f 66 20 4c 49 53 54 2e 20 20 46 6f 72 20 65 61 63 68 20 49 54 45 4d 20 61 lement.of.LIST...For.each.ITEM.a
56480 74 20 49 4e 44 45 58 0a 20 20 20 20 20 69 6e 20 4c 49 53 54 2c 20 63 61 6c 6c 20 28 66 75 6e 63 t.INDEX......in.LIST,.call.(func
564a0 61 6c 6c 20 46 4e 20 49 4e 44 45 58 20 49 54 45 4d 29 2e 20 20 52 65 74 75 72 6e 20 6e 69 6c 3b all.FN.INDEX.ITEM)...Return.nil;
564c0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 69 73 20 69 6e 74 65 6e 64 65 64 20 .this.function......is.intended.
564e0 66 6f 72 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f for.side.effects........See.also
56500 3a 20 e2 80 98 2d 6d 61 70 2d 69 6e 64 65 78 65 64 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 6d 61 70 :....-map-indexed....(*note.-map
56520 2d 69 6e 64 65 78 65 64 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 -indexed::).............(let.(l)
56540 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
56560 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).
56580 20 20 20 20 20 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 ..................((c.2).(b.1).(
565a0 61 20 30 29 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 a.0))...........(let.(l).(--each
565c0 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 74 20 69 74 -indexed.'(a.b.c).(push.(list.it
565e0 20 69 74 2d 69 6e 64 65 78 29 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .it-index).l)).l)...............
56600 e2 87 92 20 28 28 63 20 32 29 20 28 62 20 31 29 20 28 61 20 30 29 29 0a 20 20 20 20 20 20 20 20 ....((c.2).(b.1).(a.0)).........
56620 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 20 28 29 20 28 70 ..(let.(l).(--each-indexed.().(p
56640 75 73 68 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 ush.it.l)).l)...................
56660 28 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 20 28 6c 69 73 74 20 ()...--.Function:.-each-r.(list.
56680 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 65 6c 65 6d 65 6e 74 fn)......Call.FN.on.each.element
566a0 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 2e 20 20 52 65 74 .of.LIST.in.reversed.order...Ret
566c0 75 72 6e 20 6e 69 6c 3b 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 urn.nil;......this.function.is.i
566e0 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 20 ntended.for.side.effects........
56700 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 e2 80 98 Its.anaphoric.counterpart.is....
56720 2d 2d 65 61 63 68 2d 72 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 --each-r................(let.(l)
56740 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 .(-each-r.'(1.2.3).(lambda.(x).(
56760 70 75 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.x.l))).l)..................
56780 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 2d 65 .(1.2.3)...........(let.(l).(--e
567a0 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 6c 29 0a 20 ach-r.'(1.2.3).(push.it.l)).l)..
567c0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 29 0a 20 20 20 20 20 20 20 .................(1.2.3)........
567e0 20 20 20 28 2d 65 61 63 68 2d 72 20 27 28 31 20 32 20 33 29 20 23 27 69 64 65 6e 74 69 74 79 29 ...(-each-r.'(1.2.3).#'identity)
56800 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
56820 74 69 6f 6e 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 28 6c 69 73 74 20 70 72 65 64 20 66 tion:.-each-r-while.(list.pred.f
56840 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 6f 6e 20 65 61 63 68 20 49 54 45 4d 20 69 6e 20 n)......Call.FN.on.each.ITEM.in.
56860 72 65 76 65 72 73 65 64 20 4c 49 53 54 2c 20 77 68 69 6c 65 20 28 50 52 45 44 20 49 54 45 4d 29 reversed.LIST,.while.(PRED.ITEM)
56880 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 6e 63 65 20 61 6e 20 49 54 45 4d 20 .is......non-nil...Once.an.ITEM.
568a0 69 73 20 72 65 61 63 68 65 64 20 66 6f 72 20 77 68 69 63 68 20 50 52 45 44 20 72 65 74 75 72 6e is.reached.for.which.PRED.return
568c0 73 20 6e 69 6c 2c 20 46 4e 20 69 73 0a 20 20 20 20 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 61 6c 6c s.nil,.FN.is......no.longer.call
568e0 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
56900 73 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 73 69 64 65 0a 20 20 20 20 20 65 66 66 65 63 74 73 s.intended.for.side......effects
56920 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
56940 74 20 69 73 20 e2 80 98 2d 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 t.is....--each-r-while..........
56960 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 20 27 28 ......(let.(l).(-each-r-while.'(
56980 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 70 75 2.4.5.6).#'even?.(lambda.(x).(pu
569a0 73 68 20 78 20 6c 29 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 sh.x.l))).l)...................(
569c0 36 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 72 2d 6)...........(let.(l).(--each-r-
569e0 77 68 69 6c 65 20 27 28 31 20 32 20 33 20 34 29 20 28 3e 3d 20 69 74 20 33 29 20 28 70 75 73 68 while.'(1.2.3.4).(>=.it.3).(push
56a00 20 69 74 20 6c 29 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 .it.l)).l)...................(3.
56a20 34 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 30 29 29 20 28 2d 2d 65 61 63 4)...........(let.((s.0)).(--eac
56a40 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 28 73 h-r-while.'(1.2.3.5).(>.it.1).(s
56a60 65 74 71 20 73 20 28 2b 20 73 20 69 74 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 etq.s.(+.s.it))).s).............
56a80 20 20 e2 87 92 20 31 30 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 64 6f 74 69 6d 65 73 ......10...--.Function:.-dotimes
56aa0 20 28 6e 75 6d 20 66 6e 29 0a 20 20 20 20 20 43 61 6c 6c 20 46 4e 20 4e 55 4d 20 74 69 6d 65 73 .(num.fn)......Call.FN.NUM.times
56ac0 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 20 20 ,.presumably.for.side.effects...
56ae0 46 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 61 20 73 69 6e 67 6c 65 20 FN.is.called.with......a.single.
56b00 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 20 argument.on.successive.integers.
56b20 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 0a 20 20 20 20 20 running.from.0,.inclusive,......
56b40 74 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 to.NUM,.exclusive...FN.is.not.ca
56b60 6c 6c 65 64 20 69 66 20 4e 55 4d 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 31 2e 0a 0a 20 20 20 lled.if.NUM.is.less.than.1......
56b80 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 6f ..This.function...s.anaphoric.co
56ba0 75 6e 74 65 72 70 61 72 74 20 69 73 20 e2 80 98 2d 2d 64 6f 74 69 6d 65 73 e2 80 99 2e 0a 0a 20 unterpart.is....--dotimes.......
56bc0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 33 20 28 6c .........(let.(s).(-dotimes.3.(l
56be0 61 6d 62 64 61 20 28 6e 29 20 28 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 ambda.(n).(push.n.s))).s).......
56c00 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c ............(2.1.0)...........(l
56c20 65 74 20 28 73 29 20 28 2d 64 6f 74 69 6d 65 73 20 30 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 et.(s).(-dotimes.0.(lambda.(n).(
56c40 70 75 73 68 20 6e 20 73 29 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 push.n.s))).s)..................
56c60 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 29 20 28 2d 2d 64 6f 74 69 6d 65 .()...........(let.(s).(--dotime
56c80 73 20 35 20 28 70 75 73 68 20 69 74 20 73 29 29 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.5.(push.it.s)).s).............
56ca0 20 20 e2 87 92 20 28 34 20 33 20 32 20 31 20 30 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e ......(4.3.2.1.0)....File:.dash.
56cc0 69 6e 66 6f 2c 20 20 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 info,..Node:.Destructive.operati
56ce0 6f 6e 73 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 ons,..Next:.Function.combinators
56d00 2c 20 20 50 72 65 76 3a 20 53 69 64 65 20 65 66 66 65 63 74 73 2c 20 20 55 70 3a 20 46 75 6e 63 ,..Prev:.Side.effects,..Up:.Func
56d20 74 69 6f 6e 73 0a 0a 32 2e 31 35 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f tions..2.15.Destructive.operatio
56d40 6e 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a ns.===========================..
56d60 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 65 73 20 68 6f 6c Macros.that.modify.variables.hol
56d80 64 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 21 63 6f 6e 73 20 28 63 ding.lists....--.Macro:.!cons.(c
56da0 61 72 20 63 64 72 29 0a 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 3a 20 53 65 74 20 43 44 ar.cdr)......Destructive:.Set.CD
56dc0 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 43 44 52 2e 0a 0a 20 R.to.the.cons.of.CAR.and.CDR....
56de0 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 6c 29 20 28 21 63 6f 6e 73 20 35 20 6c 29 20 6c 29 .........(let.(l).(!cons.5.l).l)
56e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 20 20 20 20 20 20 20 20 20 ...................(5)..........
56e20 20 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 0a .(let.((l.'(3))).(!cons.5.l).l).
56e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 20 33 29 0a 0a 20 2d 2d 20 4d 61 63 ..................(5.3)...--.Mac
56e60 72 6f 3a 20 21 63 64 72 20 28 6c 69 73 74 29 0a 20 20 20 20 20 44 65 73 74 72 75 63 74 69 76 65 ro:.!cdr.(list)......Destructive
56e80 3a 20 53 65 74 20 4c 49 53 54 20 74 6f 20 74 68 65 20 63 64 72 20 6f 66 20 4c 49 53 54 2e 0a 0a :.Set.LIST.to.the.cdr.of.LIST...
56ea0 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 21 63 64 72 20 ..........(let.((l.'(3))).(!cdr.
56ec0 6c 29 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 l).l)...................()......
56ee0 20 20 20 20 20 28 6c 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 .....(let.((l.'(3.5))).(!cdr.l).
56f00 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 35 29 0a 0a 1f 0a 46 69 6c 65 l)...................(5)....File
56f20 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d :.dash.info,..Node:.Function.com
56f40 62 69 6e 61 74 6f 72 73 2c 20 20 50 72 65 76 3a 20 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 binators,..Prev:.Destructive.ope
56f60 72 61 74 69 6f 6e 73 2c 20 20 55 70 3a 20 46 75 6e 63 74 69 6f 6e 73 0a 0a 32 2e 31 36 20 46 75 rations,..Up:.Functions..2.16.Fu
56f80 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d nction.combinators.=============
56fa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 6e ============..Functions.that.man
56fc0 69 70 75 6c 61 74 65 20 61 6e 64 20 63 6f 6d 70 6f 73 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 ipulate.and.compose.other.functi
56fe0 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 61 72 74 69 61 6c 20 28 66 75 ons....--.Function:.-partial.(fu
57000 6e 20 26 72 65 73 74 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 n.&rest.args)......Return.a.func
57020 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
57040 6f 6e 20 6f 66 20 46 55 4e 20 74 6f 20 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 53 20 69 73 20 on.of.FUN.to.ARGS.......ARGS.is.
57060 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 a.list.of.the.first.N.arguments.
57080 74 6f 20 70 61 73 73 20 74 6f 20 46 55 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 to.pass.to.FUN...The.result.....
570a0 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 73 20 74 68 .is.a.new.function.which.does.th
570c0 65 20 73 61 6d 65 20 61 73 20 46 55 4e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 e.same.as.FUN,.except.that.the.f
570e0 69 72 73 74 0a 20 20 20 20 20 4e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 irst......N.arguments.are.fixed.
57100 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 75 at.the.values.with.which.this.fu
57120 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 nction.was......called..........
57140 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 29 29 0a 20 20 ...(funcall.(-partial.#'+.5))...
57160 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 66 75 6e ................5...........(fun
57180 63 61 6c 6c 20 28 2d 70 61 72 74 69 61 6c 20 23 27 2d 20 35 29 20 33 29 0a 20 20 20 20 20 20 20 call.(-partial.#'-.5).3)........
571a0 20 20 20 20 20 20 20 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 ...........2...........(funcall.
571c0 28 2d 70 61 72 74 69 61 6c 20 23 27 2b 20 35 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 (-partial.#'+.5.2).3)...........
571e0 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 20 2d 72 70 61 72 74 ........10...--.Function:.-rpart
57200 69 61 6c 20 28 66 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 ial.(fn.&rest.args)......Return.
57220 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 70 a.function.that.is.a.partial.app
57240 6c 69 63 61 74 69 6f 6e 20 6f 66 20 46 4e 20 74 6f 20 41 52 47 53 2e 0a 20 20 20 20 20 41 52 47 lication.of.FN.to.ARGS.......ARG
57260 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 4e 20 61 72 67 75 6d 65 S.is.a.list.of.the.last.N.argume
57280 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f 20 46 4e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 0a 20 nts.to.pass.to.FN...The.result..
572a0 20 20 20 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 73 ....is.a.new.function.which.does
572c0 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 68 61 74 20 74 68 65 .the.same.as.FN,.except.that.the
572e0 20 6c 61 73 74 20 4e 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 .last.N......arguments.are.fixed
57300 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
57320 75 6e 63 74 69 6f 6e 20 77 61 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 54 68 69 73 20 69 unction.was......called...This.i
57340 73 20 6c 69 6b 65 20 e2 80 98 2d 70 61 72 74 69 61 6c e2 80 99 20 28 2a 6e 6f 74 65 20 2d 70 61 s.like....-partial....(*note.-pa
57360 72 74 69 61 6c 3a 3a 29 2c 20 65 78 63 65 70 74 20 74 68 65 0a 20 20 20 20 20 61 72 67 75 6d 65 rtial::),.except.the......argume
57380 6e 74 73 20 61 72 65 20 66 69 78 65 64 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 nts.are.fixed.starting.from.the.
573a0 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 0a 0a 20 20 20 right.rather.than.the.left......
573c0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 70 61 72 74 69 61 6c 20 23 27 2d 20 35 .......(funcall.(-rpartial.#'-.5
573e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 2d 35 0a 20 20 20 20 20 20 20 20 ))...................-5.........
57400 20 20 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 0a ..(funcall.(-rpartial.#'-.5).8).
57420 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 28 66 ..................3...........(f
57440 75 6e 63 61 6c 6c 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 uncall.(-rpartial.#'-.5.2).10)..
57460 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 33 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .................3...--.Function
57480 3a 20 2d 6a 75 78 74 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 :.-juxt.(&rest.fns)......Return.
574a0 61 20 66 75 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 a.function.that.is.the.juxtaposi
574c0 74 69 6f 6e 20 6f 66 20 46 4e 53 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 tion.of.FNS...The.returned......
574e0 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 function.takes.a.variable.number
57500 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 20 65 61 63 68 20 6f 66 20 46 4e 53 20 69 6e .of.ARGS,.applies.each.of.FNS.in
57520 0a 20 20 20 20 20 74 75 72 6e 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 ......turn.to.ARGS,.and.returns.
57540 74 68 65 20 6c 69 73 74 20 6f 66 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 the.list.of.results.............
57560 28 66 75 6e 63 61 6c 6c 20 28 2d 6a 75 78 74 29 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 (funcall.(-juxt).1.2)...........
57580 20 20 20 20 e2 87 92 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d ........()...........(funcall.(-
575a0 6a 75 78 74 20 23 27 2b 20 23 27 2d 20 23 27 2a 20 23 27 2f 29 20 37 20 35 29 0a 20 20 20 20 20 juxt.#'+.#'-.#'*.#'/).7.5)......
575c0 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 32 20 32 20 33 35 20 31 29 0a 20 20 20 20 20 20 20 .............(12.2.35.1)........
575e0 20 20 20 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 6f 2d 73 74 ...(mapcar.(-juxt.#'number-to-st
57600 72 69 6e 67 20 23 27 31 2b 29 20 27 28 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ring.#'1+).'(1.2))..............
57620 20 e2 87 92 20 28 28 22 31 22 20 32 29 20 28 22 32 22 20 33 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 .....(("1".2).("2".3))...--.Func
57640 74 69 6f 6e 3a 20 2d 63 6f 6d 70 6f 73 65 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 tion:.-compose.(&rest.fns)......
57660 43 6f 6d 70 6f 73 65 20 46 4e 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 70 6f 73 Compose.FNS.into.a.single.compos
57680 69 74 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e ite.function...Return.a.function
576a0 0a 20 20 20 20 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 ......that.takes.a.variable.numb
576c0 65 72 20 6f 66 20 41 52 47 53 2c 20 61 70 70 6c 69 65 73 20 74 68 65 20 6c 61 73 74 20 66 75 6e er.of.ARGS,.applies.the.last.fun
576e0 63 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 46 4e 53 20 74 6f 20 41 52 47 53 2c 20 61 6e 64 20 72 ction.in......FNS.to.ARGS,.and.r
57700 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 61 6c 6c 69 6e 67 20 65 61 63 eturns.the.result.of.calling.eac
57720 68 20 72 65 6d 61 69 6e 69 6e 67 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 h.remaining......function.on.the
57740 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 66 75 6e 63 74 69 6f 6e .result.of.the.previous.function
57760 2c 20 72 69 67 68 74 2d 74 6f 2d 6c 65 66 74 2e 20 20 49 66 0a 20 20 20 20 20 6e 6f 20 46 4e 53 ,.right-to-left...If......no.FNS
57780 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 69 63 20 e2 80 .are.given,.return.a.variadic...
577a0 98 69 64 65 6e 74 69 74 79 e2 80 99 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 20 20 20 .identity....function...........
577c0 20 20 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 ..(funcall.(-compose.#'-.#'1+.#'
577e0 2b 29 20 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 2d 37 0a 20 +).1.2.3)...................-7..
57800 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f 6d 70 6f 73 65 20 23 27 69 64 .........(funcall.(-compose.#'id
57820 65 6e 74 69 74 79 20 23 27 31 2b 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 entity.#'1+).3).................
57840 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6d 70 6f 73 65 20 ..4...........(mapcar.(-compose.
57860 23 27 6e 6f 74 20 23 27 73 74 72 69 6e 67 70 29 20 27 28 6e 69 6c 20 22 22 29 29 0a 20 20 20 20 #'not.#'stringp).'(nil."")).....
57880 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 74 20 6e 69 6c 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 ..............(t.nil)...--.Funct
578a0 69 6f 6e 3a 20 2d 61 70 70 6c 69 66 79 20 28 66 6e 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 ion:.-applify.(fn)......Return.a
578c0 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 6f 20 61 20 73 .function.that.applies.FN.to.a.s
578e0 69 6e 67 6c 65 20 6c 69 73 74 20 6f 66 20 61 72 67 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 63 ingle.list.of.args...This......c
57900 68 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 hanges.the.arity.of.FN.from.taki
57920 6e 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 20 74 61 6b 69 6e ng.N.distinct.arguments.to.takin
57940 67 0a 20 20 20 20 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 g......1.argument.which.is.a.lis
57960 74 20 6f 66 20 4e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 t.of.N.arguments.............(fu
57980 6e 63 61 6c 6c 20 28 2d 61 70 70 6c 69 66 79 20 23 27 2b 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 ncall.(-applify.#'+).nil).......
579a0 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 6d 61 70 63 61 72 20 ............0...........(mapcar.
579c0 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 33 29 (-applify.#'+).'((1.1.1).(1.2.3)
579e0 20 28 35 20 35 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 33 20 .(5.5.5)))...................(3.
57a00 36 20 31 35 29 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 6.15)...........(funcall.(-appli
57a20 66 79 20 23 27 3c 29 20 27 28 33 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 fy.#'<).'(3.6)).................
57a40 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 6e 20 28 6f 70 20 74 72 61 6e 73 ..t...--.Function:.-on.(op.trans
57a60 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 )......Return.a.function.that.ca
57a80 6c 6c 73 20 54 52 41 4e 53 20 6f 6e 20 65 61 63 68 20 61 72 67 20 61 6e 64 20 4f 50 20 6f 6e 20 lls.TRANS.on.each.arg.and.OP.on.
57aa0 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 73 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 the......results...The.returned.
57ac0 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 function.takes.a.variable.number
57ae0 20 6f 66 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 63 61 6c 6c 73 20 74 68 65 20 66 75 .of......arguments,.calls.the.fu
57b00 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 72 6e nction.TRANS.on.each.one.in.turn
57b20 2c 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 70 61 73 73 65 73 20 74 68 6f 73 65 20 72 65 73 ,.and.then......passes.those.res
57b40 75 6c 74 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 ults.as.the.list.of.arguments.to
57b60 20 4f 50 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 .OP,.in.the.same......order.....
57b80 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 70 61 ...For.example,.the.following.pa
57ba0 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 72 61 6c 6c 79 0a 20 irs.of.expressions.are.morally..
57bc0 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ....equivalent:.......(funcall.(
57be0 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b 29 20 31 20 32 20 33 29 20 3d 20 28 2b 20 28 31 -on.#...+.#...1+).1.2.3).=.(+.(1
57c00 2b 20 31 29 20 28 31 2b 20 32 29 20 28 31 2b 20 33 29 29 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 +.1).(1+.2).(1+.3)).(funcall....
57c20 20 20 28 2d 6f 6e 20 23 e2 80 99 2b 20 23 e2 80 99 31 2b 29 29 20 3d 20 28 2b 29 0a 0a 20 20 20 ..(-on.#...+.#...1+)).=.(+).....
57c40 20 20 20 20 20 20 20 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 .......(-sort.(-on.#'<.#'length)
57c60 20 27 28 28 31 20 32 20 33 29 20 28 31 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 .'((1.2.3).(1).(1.2)))..........
57c80 20 20 20 20 20 e2 87 92 20 28 28 31 29 20 28 31 20 32 29 20 28 31 20 32 20 33 29 29 0a 20 20 20 .........((1).(1.2).(1.2.3))....
57ca0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 6f 6e 20 23 27 6d 69 6e 20 23 27 73 74 72 .......(funcall.(-on.#'min.#'str
57cc0 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 22 31 32 22 ing-to-number)."22"."2"."1"."12"
57ce0 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...........
57d00 28 2d 6d 69 6e 2d 62 79 20 28 2d 6f 6e 20 23 27 3e 20 23 27 6c 65 6e 67 74 68 29 20 27 28 28 31 (-min-by.(-on.#'>.#'length).'((1
57d20 20 32 20 33 29 20 28 34 29 20 28 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .2.3).(4).(1.2)))...............
57d40 e2 87 92 20 28 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 66 6c 69 70 20 28 66 6e ....(4)...--.Function:.-flip.(fn
57d60 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 )......Return.a.function.that.ca
57d80 6c 6c 73 20 46 4e 20 77 69 74 68 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 72 65 76 65 72 73 lls.FN.with.its.arguments.revers
57da0 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 ed...The......returned.function.
57dc0 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e takes.the.same.number.of.argumen
57de0 74 73 20 61 73 20 46 4e 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 ts.as.FN........For.example,.the
57e00 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 77 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 6d .following.two.expressions.are.m
57e20 6f 72 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c orally.equivalent:.......(funcal
57e40 6c 20 28 2d 66 6c 69 70 20 23 e2 80 99 2d 29 20 31 20 32 29 20 3d 20 28 2d 20 32 20 31 29 0a 0a l.(-flip.#...-).1.2).=.(-.2.1)..
57e60 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 72 6f 74 61 74 65 2d 61 72 67 73 e2 80 .....See.also:....-rotate-args..
57e80 99 20 28 2a 6e 6f 74 65 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 ..(*note.-rotate-args::)........
57ea0 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 66 6c 69 70 20 23 27 3c 29 20 27 28 34 20 33 20 36 20 .....(-sort.(-flip.#'<).'(4.3.6.
57ec0 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 34 20 33 20 31 29 0a 1))...................(6.4.3.1).
57ee0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 6c 69 70 20 23 27 2d 29 20 33 ..........(funcall.(-flip.#'-).3
57f00 20 32 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 34 0a 20 20 20 .2.1.10)...................4....
57f20 20 20 20 20 20 20 20 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 .......(funcall.(-flip.#'1+).1).
57f40 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 6e 63 74 69 6f ..................2...--.Functio
57f60 6e 3a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 28 6e 20 66 6e 29 0a 20 20 20 20 20 52 65 74 75 n:.-rotate-args.(n.fn)......Retu
57f80 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 46 4e 20 77 69 74 68 rn.a.function.that.calls.FN.with
57fa0 20 61 72 67 73 20 72 6f 74 61 74 65 64 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 0a 20 20 .args.rotated.N.places.to.the...
57fc0 20 20 20 72 69 67 68 74 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 66 75 6e 63 74 69 6f 6e ...right...The.returned.function
57fe0 20 74 61 6b 65 73 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 .takes.the.same.number.of.argume
58000 6e 74 73 20 61 73 0a 20 20 20 20 20 46 4e 2c 20 72 6f 74 61 74 65 73 20 74 68 65 20 6c 69 73 74 nts.as......FN,.rotates.the.list
58020 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 4e 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 72 69 .of.arguments.N.places.to.the.ri
58040 67 68 74 20 28 6c 65 66 74 20 69 66 20 4e 0a 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 29 ght.(left.if.N......is.negative)
58060 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 2d 72 6f 74 61 74 65 e2 80 99 20 28 2a 6e 6f 74 65 20 .just.like....-rotate....(*note.
58080 2d 72 6f 74 61 74 65 3a 3a 29 2c 20 61 6e 64 20 61 70 70 6c 69 65 73 20 46 4e 0a 20 20 20 20 20 -rotate::),.and.applies.FN......
580a0 74 6f 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 to.the.result........See.also:..
580c0 80 98 2d 66 6c 69 70 e2 80 99 20 28 2a 6e 6f 74 65 20 2d 66 6c 69 70 3a 3a 29 2e 0a 0a 20 20 20 ..-flip....(*note.-flip::)......
580e0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 72 6f 74 61 74 65 2d 61 72 67 73 20 2d 31 .......(funcall.(-rotate-args.-1
58100 20 23 27 6c 69 73 74 29 20 31 20 32 20 33 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .#'list).1.2.3.4)...............
58120 e2 87 92 20 28 32 20 33 20 34 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c ....(2.3.4.1)...........(funcall
58140 20 28 2d 72 6f 74 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 .(-rotate-args.1.#'-).1.10.100).
58160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 38 39 0a 20 20 20 20 20 20 20 20 20 20 28 ..................89...........(
58180 66 75 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 funcall.(-rotate-args.2.#'list).
581a0 33 20 34 20 35 20 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 3.4.5.1.2)...................(1.
581c0 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 63 6f 6e 73 74 20 28 2.3.4.5)...--.Function:.-const.(
581e0 63 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 c)......Return.a.function.that.r
58200 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 69 74 69 6f 6e 61 6c eturns.C.ignoring.any.additional
58220 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 61 20 2d 3e .arguments........In.types:.a.->
58240 20 62 20 2d 3e 20 61 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 63 6f .b.->.a............(funcall.(-co
58260 6e 73 74 20 32 29 20 31 20 33 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nst.2).1.3."foo")...............
58280 e2 87 92 20 32 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 63 6f 6e 73 74 20 ....2...........(mapcar.(-const.
582a0 31 29 20 27 28 22 61 22 20 22 62 22 20 22 63 22 20 22 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 1).'("a"."b"."c"."d"))..........
582c0 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 20 28 2d 73 .........(1.1.1.1)...........(-s
582e0 75 6d 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 um.(mapcar.(-const.1).'("a"."b".
58300 22 63 22 20 22 64 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 34 0a 0a "c"."d")))...................4..
58320 20 2d 2d 20 4d 61 63 72 6f 3a 20 2d 63 75 74 20 28 26 72 65 73 74 20 70 61 72 61 6d 73 29 0a 20 .--.Macro:.-cut.(&rest.params)..
58340 20 20 20 20 54 61 6b 65 20 6e 2d 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 20 61 72 ....Take.n-ary.function.and.n.ar
58360 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 70 65 63 69 61 6c 69 7a 65 20 73 6f 6d 65 20 6f 66 20 74 guments.and.specialize.some.of.t
58380 68 65 6d 2e 0a 20 20 20 20 20 41 72 67 75 6d 65 6e 74 73 20 64 65 6e 6f 74 65 64 20 62 79 20 3c hem.......Arguments.denoted.by.<
583a0 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 20 >.will.be.left.unspecialized....
583c0 20 20 20 20 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 73 ....See.SRFI-26.for.detailed.des
583e0 63 72 69 70 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 cription.............(funcall.(-
58400 63 75 74 20 6c 69 73 74 20 31 20 3c 3e 20 33 20 3c 3e 20 35 29 20 32 20 34 29 0a 20 20 20 20 20 cut.list.1.<>.3.<>.5).2.4)......
58420 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 31 20 32 20 33 20 34 20 35 29 0a 20 20 20 20 20 20 20 .............(1.2.3.4.5)........
58440 20 20 20 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 20 60 28 31 ...(-map.(-cut.funcall.<>.5).`(1
58460 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 29 29 0a 20 +.1-.,(lambda.(x).(/.1.0.x))))..
58480 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 36 20 34 20 30 2e 32 29 0a 20 20 20 20 20 .................(6.4.0.2)......
584a0 20 20 20 20 20 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 .....(-map.(-cut.<>.1.2.3).'(lis
584c0 74 20 76 65 63 74 6f 72 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.vector.string))...............
584e0 e2 87 92 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 0a 0a ....((1.2.3).[1.2.3]."\1\2\3")..
58500 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6e 6f 74 20 28 70 72 65 64 29 0a 20 20 20 20 20 52 .--.Function:.-not.(pred)......R
58520 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 74 eturn.a.predicate.that.negates.t
58540 68 65 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 he.result.of.PRED...The.returned
58560 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 70 61 73 73 65 73 20 69 74 73 20 61 72 67 75 6d ......predicate.passes.its.argum
58580 65 6e 74 73 20 74 6f 20 50 52 45 44 2e 20 20 49 66 20 50 52 45 44 20 72 65 74 75 72 6e 73 20 6e ents.to.PRED...If.PRED.returns.n
585a0 69 6c 2c 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 3b 20 il,.the......result.is.non-nil;.
585c0 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 20 20 otherwise.the.result.is.nil.....
585e0 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ...See.also:....-andfn....(*note
58600 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f 74 .-andfn::).and....-orfn....(*not
58620 65 20 2d 6f 72 66 6e 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 e.-orfn::).............(funcall.
58640 28 2d 6e 6f 74 20 23 27 6e 75 6d 62 65 72 70 29 20 22 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 (-not.#'numberp)."5")...........
58660 20 20 20 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 2d 73 6f 72 74 20 28 2d 6e 6f 74 ........t...........(-sort.(-not
58680 20 23 27 3c 29 20 27 28 35 20 32 20 31 20 30 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .#'<).'(5.2.1.0.6)).............
586a0 20 20 e2 87 92 20 28 36 20 35 20 32 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 ......(6.5.2.1.0)...........(-fi
586c0 6c 74 65 72 20 28 2d 6e 6f 74 20 28 2d 70 61 72 74 69 61 6c 20 23 27 3c 20 34 29 29 20 27 28 31 lter.(-not.(-partial.#'<.4)).'(1
586e0 20 32 20 33 20 34 20 35 20 36 20 37 20 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .2.3.4.5.6.7.8))................
58700 87 92 20 28 31 20 32 20 33 20 34 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 6f 72 66 ...(1.2.3.4)...--.Function:.-orf
58720 6e 20 28 26 72 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 n.(&rest.preds)......Return.a.pr
58740 65 64 69 63 61 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 6e edicate.that.returns.the.first.n
58760 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 6f 66 20 50 52 45 44 53 2e 0a 20 20 20 20 20 54 68 65 on-nil.result.of.PREDS.......The
58780 20 72 65 74 75 72 6e 65 64 20 70 72 65 64 69 63 61 74 65 20 74 61 6b 65 73 20 61 20 76 61 72 69 .returned.predicate.takes.a.vari
587a0 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 70 61 73 73 65 73 able.number.of.arguments,.passes
587c0 0a 20 20 20 20 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 ......them.to.each.predicate.in.
587e0 50 52 45 44 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 20 PREDS.in.turn.until.one.of.them.
58800 72 65 74 75 72 6e 73 0a 20 20 20 20 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6e 64 20 72 65 74 75 72 6e returns......non-nil,.and.return
58820 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 75 74 20 63 61 s.that.non-nil.result.without.ca
58840 6c 6c 69 6e 67 20 74 68 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 50 52 45 44 53 2e 20 lling.the......remaining.PREDS..
58860 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 6e 20 6e 69 6c 2c 20 6f 72 20 69 66 20 .If.all.PREDS.return.nil,.or.if.
58880 6e 6f 20 50 52 45 44 53 20 61 72 65 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 74 68 65 20 72 65 74 no.PREDS.are......given,.the.ret
588a0 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 20 20 urned.predicate.returns.nil.....
588c0 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 61 6e 64 66 6e e2 80 99 20 28 2a 6e 6f 74 65 ...See.also:....-andfn....(*note
588e0 20 2d 61 6e 64 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 65 .-andfn::).and....-not....(*note
58900 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 2d .-not::).............(-filter.(-
58920 6f 72 66 6e 20 23 27 6e 61 74 6e 75 6d 70 20 23 27 62 6f 6f 6c 65 61 6e 70 29 20 27 28 31 20 6e orfn.#'natnump.#'booleanp).'(1.n
58940 69 6c 20 22 61 22 20 2d 34 20 62 20 63 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il."a".-4.b.c.t))...............
58960 e2 87 92 20 28 31 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c ....(1.nil.t)...........(funcall
58980 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 6d .(-orfn.#'symbolp.(-cut.string-m
589a0 61 74 63 68 2d 70 20 22 78 22 20 3c 3e 29 29 20 22 61 78 65 22 29 0a 20 20 20 20 20 20 20 20 20 atch-p."x".<>))."axe")..........
589c0 20 20 20 20 20 e2 87 92 20 31 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d .........1...........(funcall.(-
589e0 6f 72 66 6e 20 23 27 3d 20 23 27 2b 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 orfn.#'=.#'+).1.1)..............
58a00 20 e2 87 92 20 74 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 61 6e 64 66 6e 20 28 26 72 .....t...--.Function:.-andfn.(&r
58a20 65 73 74 20 70 72 65 64 73 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 70 72 65 64 69 63 61 est.preds)......Return.a.predica
58a40 74 65 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6c 6c 20 50 te.that.returns.non-nil.if.all.P
58a60 52 45 44 53 20 64 6f 20 73 6f 2e 20 20 54 68 65 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 70 REDS.do.so...The......returned.p
58a80 72 65 64 69 63 61 74 65 20 50 20 74 61 6b 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 redicate.P.takes.a.variable.numb
58aa0 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 70 61 73 73 65 73 20 er.of.arguments.and......passes.
58ac0 74 68 65 6d 20 74 6f 20 65 61 63 68 20 70 72 65 64 69 63 61 74 65 20 69 6e 20 50 52 45 44 53 20 them.to.each.predicate.in.PREDS.
58ae0 69 6e 20 74 75 72 6e 2e 20 20 49 66 20 61 6e 79 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 50 52 45 in.turn...If.any.one.of......PRE
58b00 44 53 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 50 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 6e DS.returns.nil,.P.also.returns.n
58b20 69 6c 20 77 69 74 68 6f 75 74 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 il.without.calling.the.remaining
58b40 0a 20 20 20 20 20 50 52 45 44 53 2e 20 20 49 66 20 61 6c 6c 20 50 52 45 44 53 20 72 65 74 75 72 ......PREDS...If.all.PREDS.retur
58b60 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 61 73 74 20 73 75 n.non-nil,.P.returns.the.last.su
58b80 63 68 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 49 66 20 6e 6f 20 50 52 45 44 53 20 61 72 65 20 67 ch.value.......If.no.PREDS.are.g
58ba0 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 2e 0a iven,.P.always.returns.non-nil..
58bc0 0a 20 20 20 20 20 53 65 65 20 61 6c 73 6f 3a 20 e2 80 98 2d 6f 72 66 6e e2 80 99 20 28 2a 6e 6f ......See.also:....-orfn....(*no
58be0 74 65 20 2d 6f 72 66 6e 3a 3a 29 20 61 6e 64 20 e2 80 98 2d 6e 6f 74 e2 80 99 20 28 2a 6e 6f 74 te.-orfn::).and....-not....(*not
58c00 65 20 2d 6e 6f 74 3a 3a 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 2d 66 69 6c 74 65 72 20 28 e.-not::).............(-filter.(
58c20 2d 61 6e 64 66 6e 20 23 27 6e 75 6d 62 65 72 70 20 28 2d 63 75 74 20 3c 20 3c 3e 20 35 29 29 20 -andfn.#'numberp.(-cut.<.<>.5)).
58c40 27 28 61 20 31 20 62 20 36 20 63 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 '(a.1.b.6.c.2)).................
58c60 92 20 28 31 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 2d 61 6e 64 66 ..(1.2)...........(mapcar.(-andf
58c80 6e 20 23 27 6e 75 6d 62 65 72 70 20 23 27 31 2b 29 20 27 28 61 20 31 20 62 20 36 29 29 0a 20 20 n.#'numberp.#'1+).'(a.1.b.6))...
58ca0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 6e 69 6c 20 32 20 6e 69 6c 20 37 29 0a 20 20 ................(nil.2.nil.7)...
58cc0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 61 6e 64 66 6e 20 23 27 3d 20 23 27 2b ........(funcall.(-andfn.#'=.#'+
58ce0 29 20 31 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 32 0a 0a 20 2d 2d 20 ).1.1)...................2...--.
58d00 46 75 6e 63 74 69 6f 6e 3a 20 2d 69 74 65 72 61 74 65 66 6e 20 28 66 6e 20 6e 29 0a 20 20 20 20 Function:.-iteratefn.(fn.n).....
58d20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 46 4e 20 63 6f 6d 70 6f 73 65 64 20 4e .Return.a.function.FN.composed.N
58d40 20 74 69 6d 65 73 20 77 69 74 68 20 69 74 73 65 6c 66 2e 0a 0a 20 20 20 20 20 46 4e 20 69 73 20 .times.with.itself........FN.is.
58d60 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 a.unary.function...If.you.need.t
58d80 6f 20 75 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 68 69 67 68 65 72 0a 20 20 20 20 20 o.use.a.function.of.higher......
58da0 61 72 69 74 79 2c 20 75 73 65 20 e2 80 98 2d 61 70 70 6c 69 66 79 e2 80 99 20 28 2a 6e 6f 74 65 arity,.use....-applify....(*note
58dc0 20 2d 61 70 70 6c 69 66 79 3a 3a 29 20 66 69 72 73 74 20 74 6f 20 74 75 72 6e 20 69 74 20 69 6e .-applify::).first.to.turn.it.in
58de0 74 6f 20 61 0a 20 20 20 20 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 to.a......unary.function........
58e00 57 69 74 68 20 6e 20 3d 20 30 2c 20 74 68 69 73 20 61 63 74 73 20 61 73 20 69 64 65 6e 74 69 74 With.n.=.0,.this.acts.as.identit
58e20 79 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 3a 20 28 61 20 2d y.function........In.types:.(a.-
58e40 3e 20 61 29 20 2d 3e 20 49 6e 74 20 2d 3e 20 61 20 2d 3e 20 61 2e 0a 0a 20 20 20 20 20 54 68 69 >.a).->.Int.->.a.->.a........Thi
58e60 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 s.function.satisfies.the.followi
58e80 6e 67 20 6c 61 77 3a 0a 0a 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 ng.law:.......(funcall.(-iterate
58ea0 66 6e 20 66 6e 20 6e 29 20 69 6e 69 74 29 20 3d 20 28 2d 6c 61 73 74 2d 69 74 65 6d 20 28 2d 69 fn.fn.n).init).=.(-last-item.(-i
58ec0 74 65 72 61 74 65 20 66 6e 20 69 6e 69 74 0a 20 20 20 20 20 28 31 2b 20 6e 29 29 29 2e 0a 0a 20 terate.fn.init......(1+.n)))....
58ee0 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 28 6c .........(funcall.(-iteratefn.(l
58f00 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 20 33 29 20 32 29 0a 20 20 20 20 20 20 20 ambda.(x).(*.x.x)).3).2)........
58f20 20 20 20 20 20 20 20 e2 87 92 20 32 35 36 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c ...........256...........(funcal
58f40 6c 20 28 2d 69 74 65 72 61 74 65 66 6e 20 27 31 2b 20 33 29 20 31 29 0a 20 20 20 20 20 20 20 20 l.(-iteratefn.'1+.3).1).........
58f60 20 20 20 20 20 20 e2 87 92 20 34 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ..........4...........(funcall.(
58f80 2d 69 74 65 72 61 74 65 66 6e 20 27 63 64 72 20 33 29 20 27 28 31 20 32 20 33 20 34 20 35 29 29 -iteratefn.'cdr.3).'(1.2.3.4.5))
58fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 34 20 35 29 0a 0a 20 2d 2d 20 46 75 ...................(4.5)...--.Fu
58fc0 6e 63 74 69 6f 6e 3a 20 2d 66 69 78 66 6e 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 65 71 75 nction:.-fixfn.(fn.&optional.equ
58fe0 61 6c 2d 74 65 73 74 20 68 61 6c 74 2d 74 65 73 74 29 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 al-test.halt-test)......Return.a
59000 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 28 6c 65 61 .function.that.computes.the.(lea
59020 73 74 29 20 66 69 78 70 6f 69 6e 74 20 6f 66 20 46 4e 2e 0a 0a 20 20 20 20 20 46 4e 20 6d 75 73 st).fixpoint.of.FN........FN.mus
59040 74 20 62 65 20 61 20 75 6e 61 72 79 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 t.be.a.unary.function...The.retu
59060 72 6e 65 64 20 6c 61 6d 62 64 61 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 rned.lambda.takes.a.single......
59080 61 72 67 75 6d 65 6e 74 2c 20 58 2c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 66 argument,.X,.the.initial.value.f
590a0 6f 72 20 74 68 65 20 66 69 78 70 6f 69 6e 74 20 69 74 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 0a or.the.fixpoint.iteration...The.
590c0 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 73 20 77 68 65 6e 20 65 69 74 68 65 72 .....iteration.halts.when.either
590e0 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 73 0a .of.the.following.conditions.is.
59100 20 20 20 20 20 73 61 74 69 73 66 69 65 64 3a 0a 0a 20 20 20 20 20 31 2e 20 20 49 74 65 72 61 74 .....satisfied:.......1...Iterat
59120 69 6f 6e 20 63 6f 6e 76 65 72 67 65 73 20 74 6f 20 74 68 65 20 66 69 78 70 6f 69 6e 74 2c 20 77 ion.converges.to.the.fixpoint,.w
59140 69 74 68 20 65 71 75 61 6c 69 74 79 20 62 65 69 6e 67 20 74 65 73 74 65 64 0a 20 20 20 20 20 75 ith.equality.being.tested......u
59160 73 69 6e 67 20 45 51 55 41 4c 2d 54 45 53 54 2e 20 20 49 66 20 45 51 55 41 4c 2d 54 45 53 54 20 sing.EQUAL-TEST...If.EQUAL-TEST.
59180 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 e2 80 98 65 71 75 61 6c e2 80 99 20 69 73 is.not.specified,....equal....is
591a0 20 75 73 65 64 2e 0a 20 20 20 20 20 46 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 76 65 72 20 74 .used.......For.functions.over.t
591c0 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 2c 20 69 74 20 6d 61 he.floating.point.numbers,.it.ma
591e0 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 0a 20 20 20 20 20 74 6f 20 70 72 6f 76 69 64 65 20 61 y.be.necessary......to.provide.a
59200 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 63 6f 6d 70 61 72 n.appropriate.approximate.compar
59220 69 73 6f 6e 20 74 65 73 74 2e 0a 0a 20 20 20 20 20 32 2e 20 20 48 41 4c 54 2d 54 45 53 54 20 72 ison.test........2...HALT-TEST.r
59240 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2e 20 20 48 41 4c 54 2d 54 45 eturns.a.non-nil.value...HALT-TE
59260 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 0a 20 20 20 20 20 73 69 6d 70 6c 65 20 63 6f 75 ST.defaults.to.a......simple.cou
59280 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 e2 80 98 2d 66 69 nter.that.returns.t.after....-fi
592a0 78 66 6e 2d 6d 61 78 2d 69 74 65 72 61 74 69 6f 6e 73 e2 80 99 2c 20 74 6f 0a 20 20 20 20 20 67 xfn-max-iterations...,.to......g
592c0 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 2e uard.against.infinite.iteration.
592e0 20 20 4f 74 68 65 72 77 69 73 65 2c 20 48 41 4c 54 2d 54 45 53 54 20 6d 75 73 74 20 62 65 20 61 ..Otherwise,.HALT-TEST.must.be.a
59300 0a 20 20 20 20 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 ......function.that.accepts.a.si
59320 6e 67 6c 65 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 ngle.argument,.the.current.value
59340 20 6f 66 20 58 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 .of.X,......and.returns.non-nil.
59360 61 73 20 6c 6f 6e 67 20 61 73 20 69 74 65 72 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 63 6f 6e 74 as.long.as.iteration.should.cont
59380 69 6e 75 65 2e 20 20 49 6e 20 74 68 69 73 0a 20 20 20 20 20 77 61 79 2c 20 61 20 6d 6f 72 65 20 inue...In.this......way,.a.more.
593a0 73 6f 70 68 69 73 74 69 63 61 74 65 64 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 74 65 73 74 20 6d sophisticated.convergence.test.m
593c0 61 79 20 62 65 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 63 61 6c 6c 65 ay.be.supplied.by.the......calle
593e0 72 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 6f 66 20 74 68 65 r........The.return.value.of.the
59400 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 69 6e 74 20 6f .lambda.is.either.the.fixpoint.o
59420 72 2c 20 69 66 0a 20 20 20 20 20 69 74 65 72 61 74 69 6f 6e 20 68 61 6c 74 65 64 20 62 65 66 6f r,.if......iteration.halted.befo
59440 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 e2 re.converging,.a.cons.with.car..
59460 80 98 68 61 6c 74 65 64 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 63 64 72 20 74 68 65 20 66 69 6e ..halted....and......cdr.the.fin
59480 61 6c 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 48 41 4c 54 2d 54 45 53 54 2e 0a 0a 20 20 20 20 20 al.output.from.HALT-TEST........
594a0 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 0a 0a 20 In.types:.(a.->.a).->.a.->.a....
594c0 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 63 6f 73 20 .........(funcall.(-fixfn.#'cos.
594e0 23 27 61 70 70 72 6f 78 3d 29 20 30 2e 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 #'approx=).0.7).................
59500 92 20 30 2e 37 33 39 30 38 35 31 33 33 32 31 35 31 36 30 37 0a 20 20 20 20 20 20 20 20 20 20 28 ..0.7390851332151607...........(
59520 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 70 funcall.(-fixfn.(lambda.(x).(exp
59540 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 20 20 20 20 20 20 20 t.(+.x.10).0.25))).2.0).........
59560 20 20 20 20 20 20 e2 87 92 20 31 2e 38 35 35 35 38 34 35 32 38 36 34 30 39 33 37 38 0a 20 20 20 ..........1.8555845286409378....
59580 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 66 69 78 66 6e 20 23 27 73 69 6e 20 23 27 .......(funcall.(-fixfn.#'sin.#'
595a0 61 70 70 72 6f 78 3d 29 20 30 2e 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 approx=).0.1)...................
595c0 28 68 61 6c 74 65 64 20 2e 20 74 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 2d 70 72 6f (halted...t)...--.Function:.-pro
595e0 64 66 6e 20 28 26 72 65 73 74 20 66 6e 73 29 0a 20 20 20 20 20 54 61 6b 65 20 61 20 6c 69 73 74 dfn.(&rest.fns)......Take.a.list
59600 20 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 .of.n.functions.and.return.a.fun
59620 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 6c 69 73 74 0a 20 20 20 20 20 6f 66 20 ction.that.takes.a.list......of.
59640 6c 65 6e 67 74 68 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 length.n,.applying.i-th.function
59660 20 74 6f 20 69 2d 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 69 6e 70 75 74 0a 20 20 .to.i-th.element.of.the.input...
59680 20 20 20 6c 69 73 74 2e 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 65 6e 67 ...list...Returns.a.list.of.leng
596a0 74 68 20 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 79 70 65 73 20 28 66 6f 72 20 6e 3d 32 29 3a 20 th.n........In.types.(for.n=2):.
596c0 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).-
596e0 3e 20 28 62 2c 20 64 29 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 >.(b,.d).......This.function.sat
59700 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 20 20 20 20 isfies.the.following.laws:......
59720 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 28 2d 70 .(-compose.(-prodfn.f.g....).(-p
59740 72 6f 64 66 6e 20 66 e2 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d 70 72 6f 64 66 6e rodfn.f....g.......)).=.(-prodfn
59760 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 66 e2 80 99 29 20 28 2d 63 6f 6d 70 6f 73 ......(-compose.f.f...).(-compos
59780 65 20 67 20 67 e2 80 99 29 20 2e 2e 2e 29 20 28 2d 70 72 6f 64 66 6e 20 66 20 67 20 2e 2e 2e 29 e.g.g...)....).(-prodfn.f.g....)
597a0 20 3d 20 28 2d 6a 75 78 74 0a 20 20 20 20 20 28 2d 63 6f 6d 70 6f 73 65 20 66 20 28 2d 70 61 72 .=.(-juxt......(-compose.f.(-par
597c0 74 69 61 6c 20 e2 80 99 6e 74 68 20 30 29 29 20 28 2d 63 6f 6d 70 6f 73 65 20 67 20 28 2d 70 61 tial....nth.0)).(-compose.g.(-pa
597e0 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 31 29 29 20 2e 2e 2e 29 0a 20 20 20 20 20 28 2d 63 6f 6d rtial....nth.1))....)......(-com
59800 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 20 66 e2 pose.(-prodfn.f.g....).(-juxt.f.
59820 80 99 20 67 e2 80 99 20 2e 2e 2e 29 29 20 3d 20 28 2d 6a 75 78 74 20 28 2d 63 6f 6d 70 6f 73 65 ...g.......)).=.(-juxt.(-compose
59840 20 66 0a 20 20 20 20 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 .f......f...).(-compose.g.g...).
59860 2e 2e 2e 29 20 28 2d 63 6f 6d 70 6f 73 65 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 ...).(-compose.(-partial....nth.
59880 6e 29 20 28 2d 70 72 6f 64 20 66 31 20 66 32 0a 20 20 20 20 20 2e 2e 2e 29 29 20 3d 20 28 2d 63 n).(-prod.f1.f2.........)).=.(-c
598a0 6f 6d 70 6f 73 65 20 66 6e 20 28 2d 70 61 72 74 69 61 6c 20 e2 80 99 6e 74 68 20 6e 29 29 0a 0a ompose.fn.(-partial....nth.n))..
598c0 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 2d 70 72 6f 64 66 6e 20 27 31 2b 20 ..........(funcall.(-prodfn.'1+.
598e0 27 31 2d 20 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 29 20 27 28 31 20 32 20 33 29 29 '1-.'number-to-string).'(1.2.3))
59900 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 32 20 31 20 22 33 22 29 0a 20 20 20 ...................(2.1."3")....
59920 20 20 20 20 20 20 20 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 .......(-map.(-prodfn.'1+.'1-).'
59940 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 0a 20 20 20 20 20 ((1.2).(3.4).(5.6).(7.8)))......
59960 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 28 32 20 31 29 20 28 34 20 33 29 20 28 36 20 35 29 20 .............((2.1).(4.3).(6.5).
59980 28 38 20 37 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 2b 20 28 66 75 6e 63 (8.7))...........(apply.'+.(func
599a0 61 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 all.(-prodfn.'length.'string-to-
599c0 6e 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 20 20 number).'((1.2.3)."15"))).......
599e0 20 20 20 20 20 20 20 20 e2 87 92 20 31 38 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 ............18....File:.dash.inf
59a00 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 44 o,..Node:.Development,..Next:.FD
59a20 4c 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 74 69 6f 6e 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 L,..Prev:.Functions,..Up:.Top..3
59a40 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 .Development.*************..The.
59a60 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 6f 6e 20 47 69 74 Dash.repository.is.hosted.on.Git
59a80 48 75 62 20 61 74 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 6e 61 Hub.at.<https://github.com/magna
59aa0 72 73 2f 64 61 73 68 2e 65 6c 3e 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 43 6f 6e 74 72 69 62 rs/dash.el>...*.Menu:..*.Contrib
59ac0 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 69 62 75 74 65 ute::..........How.to.contribute
59ae0 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 69 73 74 20 6f ..*.Contributors::........List.o
59b00 66 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e f.contributors.....File:.dash.in
59b20 66 6f 2c 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 fo,..Node:.Contribute,..Next:.Co
59b40 6e 74 72 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 ntributors,..Up:.Development..3.
59b60 31 20 43 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 1.Contribute.==============..Yes
59b80 2c 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 ,.please.do...Pure.functions.in.
59ba0 74 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 the.list.manipulation.realm.only
59bc0 2c 0a 70 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 ,.please...There...s.a.suite.of.
59be0 65 78 61 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 examples/tests.in....dev/example
59c00 73 2e 65 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 s.el...,.so.remember.to.add.test
59c20 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 74 68 65 79 20 6d 61 s.for.your.additions,.or.they.ma
59c40 79 20 67 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 y.get.broken.later......Run.the.
59c60 74 65 73 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 tests.with....make.check......Re
59c80 67 65 6e 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 generate.the.docs.with....make.d
59ca0 6f 63 73 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 ocs......Contributors.are.encour
59cc0 61 67 65 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 aged.to.install.these.commands.a
59ce0 73 20 61 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 s.a.Git.pre-commit.hook,.so.that
59d00 20 74 68 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 .the.tests.are.always.running.an
59d20 64 20 74 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 d.the.docs.are.always.in.sync:..
59d40 20 20 20 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 .....$.cp.dev/pre-commit.sh..git
59d60 2f 68 6f 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 /hooks/pre-commit.....Oh,.and.do
59d80 6e e2 80 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 n...t.edit....README.md....or...
59da0 98 64 61 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 .dash.texi....directly,.as.they.
59dc0 61 72 65 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 are.auto-generated...Instead,.ch
59de0 61 6e 67 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 ange.their.respective.templates.
59e00 e2 80 98 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 ...readme-template.md....or....d
59e20 61 73 68 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 ash-template.texi.........To.ens
59e40 75 72 65 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 ure.that.Dash.can.be.distributed
59e60 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 77 65 0a 72 65 71 75 .with.GNU.ELPA.or.Emacs,.we.requ
59e80 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 20 61 73 73 69 67 6e ire.that.all.contributors.assign
59ea0 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 66 74 77 61 72 65 0a .copyright.to.the.Free.Software.
59ec0 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 74 68 69 73 2c 20 2a Foundation...For.more.on.this,.*
59ee0 6e 6f 74 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 note.(emacs)Copyright.Assignment
59f00 3a 3a 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 ::.....File:.dash.info,..Node:.C
59f20 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 2c 20 ontributors,..Prev:.Contribute,.
59f40 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 74 6f .Up:.Development..3.2.Contributo
59f60 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 74 75 rs.================.........Matu
59f80 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 75 63 s.Goljer.(https://github.com/Fuc
59fa0 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 65 61 o1).contributed.lots.of......fea
59fc0 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 6b 61 tures.and.functions.........Taka
59fe0 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 6f 6d fumi.Arakaki.(https://github.com
5a000 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 e2 80 /tkf).contributed....-group-by..
5a020 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 68 75 ..........tali713.(https://githu
5a040 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 66 20 b.com/tali713).is.the.author.of.
5a060 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 20 4d ...-applify............V..ctor.M
5a080 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 6f 6d ..Valenzuela.(https://github.com
5a0a0 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 70 65 /vemv).contributed.........-repe
5a0c0 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 70 73 at............Nic.Ferrier.(https
5a0e0 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 72 69 ://github.com/nicferrier).contri
5a100 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 66 72 buted....-cons*............Wilfr
5a120 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 57 69 ed.Hughes.(https://github.com/Wi
5a140 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 99 2c lfred).contributed....-slice...,
5a160 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 80 98 .........-first-item...,.and....
5a180 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 45 76 -last-item............Emanuel.Ev
5a1a0 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 29 20 ans.(https://github.com/shosti).
5a1c0 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 20 20 contributed....-if-let...,......
5a1e0 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 74 2d ...-when-let...,.and....-insert-
5a200 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 28 68 at............Johan.Andersson.(h
5a220 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 72 69 ttps://github.com/rejeep).contri
5a240 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 64 75 buted....-sum...,.........-produ
5a260 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 0a 20 ct...,.and....-same-items?......
5a280 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 2f 67 ......Christina.Whyte.(https://g
5a2a0 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 75 74 ithub.com/kurisuwhyte).contribut
5a2c0 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 20 53 ed.........-compose............S
5a2e0 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 73 74 teve.Lamb.(https://github.com/st
5a300 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 6c 65 eventlamb).contributed....-cycle
5a320 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 74 61 ...,.........-pad...,....-annota
5a340 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 76 61 te...,....-zip-fill...,.and.a.va
5a360 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 20 20 riadic.version.of....-zip.......
5a380 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 2f 67 .....Fredrik.Bergroth.(https://g
5a3a0 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 e2 80 ithub.com/fbergroth).made.the...
5a3c0 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 98 2d .-if-let.........family.use....-
5a3e0 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 76 65 let....destructuring.and.improve
5a400 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 6e 67 d.the.script.for......generating
5a420 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 65 69 .documentation.........Mark.Otei
5a440 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 70 68 za.(https://github.com/holomorph
5a460 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 20 20 ).contributed....-iota....and...
5a480 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 6f 20 ...the.script.to.create.an.Info.
5a4a0 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 65 72 manual.........Vasilij.Schneider
5a4c0 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 61 73 mann.(https://github.com/wasamas
5a4e0 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 99 2e a).contributed.........-some....
5a500 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 67 69 ........William.West.(https://gi
5a520 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 78 66 thub.com/occidens).made....-fixf
5a540 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 69 6e n....more......robust.at.handlin
5a560 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 70 73 g.floats.........Cam.Saul.(https
5a580 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 75 74 ://github.com/camsaul).contribut
5a5a0 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 65 2d ed....-some->...,.........-some-
5a5c0 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 e2 80 >>...,.and....-some-->..........
5a5e0 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 70 73 ..Basil.L..Contovounesios.(https
5a600 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 20 20 ://github.com/basil-conto)......
5a620 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 80 99 contributed....-common-prefix...
5a640 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 72 69 ,....-common-suffix...,.and.vari
5a660 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 20 20 ous.other......improvements.....
5a680 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 69 74 ....Paul.Pogonyshev.(https://git
5a6a0 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 80 98 hub.com/doublep).contributed....
5a6c0 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 2d 77 -each-r.........and....-each-r-w
5a6e0 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 6f 6e hile.........Thanks!.....New.con
5a700 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 4e 6f tributors.are.very.welcome...*No
5a720 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 61 73 68 2e 69 te.Contribute::.....File:.dash.i
5a740 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 50 4c 2c 20 20 50 72 nfo,..Node:.FDL,..Next:.GPL,..Pr
5a760 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 0a 0a 41 70 70 65 6e ev:.Development,..Up:.Top..Appen
5a780 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 69 6f 6e 20 4c 69 63 dix.A.GNU.Free.Documentation.Lic
5a7a0 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 2a 2a 2a 2a 2a 2a 2a ense.***************************
5a7c0 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 20 20 20 20 20 20 **************..................
5a7e0 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 62 65 72 20 32 30 30 .....Version.1.3,.3.November.200
5a800 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 2c 20 32 30 30 31 2c 8.......Copyright....2000,.2001,
5a820 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 72 65 20 .2002,.2007,.2008.Free.Software.
5a840 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 74 70 73 3a 2f 2f 66 Foundation,.Inc.......<https://f
5a860 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 73 20 70 65 72 6d 69 sf.org/>.......Everyone.is.permi
5a880 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 74 65 20 76 65 72 62 tted.to.copy.and.distribute.verb
5a8a0 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 6c 69 63 65 6e 73 65 atim.copies......of.this.license
5a8c0 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 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
5a8e0 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 0a 0a 20 20 20 20 20 t.allowed.....0..PREAMBLE.......
5a900 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 73 65 20 69 73 20 74 The.purpose.of.this.License.is.t
5a920 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 2c 20 6f 72 20 6f 74 o.make.a.manual,.textbook,.or.ot
5a940 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 73 65 66 75 6c 20 64 her......functional.and.useful.d
5a960 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 20 73 65 6e 73 65 20 ocument....free....in.the.sense.
5a980 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 65 20 65 76 65 72 79 of.freedom:.to......assure.every
5a9a0 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 6f 20 63 6f 70 one.the.effective.freedom.to.cop
5a9c0 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 20 20 20 77 69 74 68 y.and.redistribute.it,......with
5a9e0 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
5aa00 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 63 6f 6d 6d 65 72 63 .commercially.or......noncommerc
5aa20 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 20 4c 69 63 65 6e 73 ially...Secondarily,.this.Licens
5aa40 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 61 75 74 68 6f 72 20 e.preserves.for.the......author.
5aa60 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 74 20 63 72 65 64 69 and.publisher.a.way.to.get.credi
5aa80 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 6f 74 0a 20 20 20 20 t.for.their.work,.while.not.....
5aaa0 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 69 62 6c 65 20 66 6f .being.considered.responsible.fo
5aac0 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 74 68 65 72 73 2e 0a r.modifications.made.by.others..
5aae0 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 69 6e 64 20 6f 66 20 ......This.License.is.a.kind.of.
5ab00 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 6e 73 20 74 68 61 74 ...copyleft...,.which.means.that
5ab20 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 20 74 68 65 20 64 6f .derivative......works.of.the.do
5ab40 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 65 65 20 69 cument.must.themselves.be.free.i
5ab60 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 20 63 6f 6d 70 6c 65 n.the.same.sense.......It.comple
5ab80 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
5aba0 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 20 20 20 20 20 6c ense,.which.is.a.copyleft......l
5abc0 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 73 6f 66 74 77 61 72 icense.designed.for.free.softwar
5abe0 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 20 74 68 69 73 20 4c e........We.have.designed.this.L
5ac00 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 20 66 6f 72 20 6d 61 icense.in.order.to.use.it.for.ma
5ac20 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 61 72 65 2c 20 62 65 nuals.for......free.software,.be
5ac40 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 20 66 72 65 65 20 64 cause.free.software.needs.free.d
5ac60 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 20 70 72 6f 67 72 61 ocumentation:.a......free.progra
5ac80 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 73 20 70 72 6f 76 69 m.should.come.with.manuals.provi
5aca0 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 20 20 20 74 68 61 74 ding.the.same.freedoms......that
5acc0 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 74 68 69 73 20 4c 69 .the.software.does...But.this.Li
5ace0 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 20 20 20 20 73 6f 66 cense.is.not.limited.to......sof
5ad00 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 75 73 65 64 20 66 6f tware.manuals;.it.can.be.used.fo
5ad20 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 0a 20 r.any.textual.work,.regardless..
5ad40 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 77 68 65 74 68 65 72 ....of.subject.matter.or.whether
5ad60 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 6e 74 65 64 20 62 6f .it.is.published.as.a.printed.bo
5ad80 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 69 73 20 4c 69 63 65 ok...We......recommend.this.Lice
5ada0 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 20 77 68 6f 73 65 20 nse.principally.for.works.whose.
5adc0 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 6f 6e 20 6f 72 20 72 purpose.is......instruction.or.r
5ade0 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 4c 49 54 59 20 41 4e eference.....1..APPLICABILITY.AN
5ae00 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 4c 69 63 65 6e 73 65 D.DEFINITIONS.......This.License
5ae20 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 20 6f 74 68 65 72 20 .applies.to.any.manual.or.other.
5ae40 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 20 74 68 61 74 20 63 work,.in.any.medium,......that.c
5ae60 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 79 20 74 68 65 20 63 ontains.a.notice.placed.by.the.c
5ae80 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 20 63 61 6e 0a 20 20 opyright.holder.saying.it.can...
5aea0 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 68 65 20 74 65 72 6d ...be.distributed.under.the.term
5aec0 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 6e 6f 74 69 63 s.of.this.License...Such.a.notic
5aee0 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 65 2c 20 72 6f 79 61 e......grants.a.world-wide,.roya
5af00 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
5af20 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 20 77 6f 72 6b 20 75 uration,......to.use.that.work.u
5af40 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 64 20 68 65 72 65 69 nder.the.conditions.stated.herei
5af60 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 80 9d 2c 20 62 65 6c n...The.........Document...,.bel
5af80 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 6e 75 61 6c 20 6f 72 ow,.refers.to.any.such.manual.or
5afa0 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 66 20 74 68 65 20 70 .work...Any.member......of.the.p
5afc0 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 69 73 20 61 64 64 72 ublic.is.a.licensee,.and.is.addr
5afe0 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 61 63 63 65 70 74 0a essed.as....you......You.accept.
5b000 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 6f 70 79 2c 20 6d 6f .....the.license.if.you.copy,.mo
5b020 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 72 6b 20 69 6e 20 61 dify.or.distribute.the.work.in.a
5b040 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 73 73 69 6f 6e 20 75 .way......requiring.permission.u
5b060 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 20 41 20 e2 80 9c 4d nder.copyright.law........A....M
5b080 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 20 44 6f 63 75 6d 65 odified.Version....of.the.Docume
5b0a0 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 69 6e 67 20 74 68 65 nt.means.any.work.containing.the
5b0c0 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 6f 6e 20 6f 66 20 69 ......Document.or.a.portion.of.i
5b0e0 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 2c 20 6f 72 20 77 69 t,.either.copied.verbatim,.or.wi
5b100 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 2f 6f 72 20 74 72 61 th......modifications.and/or.tra
5b120 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 75 61 67 65 2e 0a 0a nslated.into.another.language...
5b140 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 6f 6e e2 80 9d 20 69 .....A....Secondary.Section....i
5b160 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 72 6f 6e 74 2d 6d 61 s.a.named.appendix.or.a.front-ma
5b180 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 44 6f 63 75 6d 65 6e tter.section......of.the.Documen
5b1a0 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 69 74 68 20 74 68 t.that.deals.exclusively.with.th
5b1c0 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 20 20 70 75 62 6c 69 e.relationship.of.the......publi
5b1e0 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 74 shers.or.authors.of.the.Document
5b200 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 61 6c 6c 0a 20 20 20 .to.the.Document...s.overall....
5b220 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 6d 61 74 74 65 72 73 ..subject.(or.to.related.matters
5b240 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 61 74 20 63 6f 75 6c ).and.contains.nothing.that.coul
5b260 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 69 6e 20 74 68 61 74 d......fall.directly.within.that
5b280 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 20 69 66 20 74 68 65 .overall.subject...(Thus,.if.the
5b2a0 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 20 61 20 74 65 78 74 .Document......is.in.part.a.text
5b2c0 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 63 6f 6e 64 61 72 79 book.of.mathematics,.a.Secondary
5b2e0 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 6c 61 69 6e 20 61 6e .Section.may.not......explain.an
5b300 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 74 69 6f 6e 73 68 69 y.mathematics.)..The.relationshi
5b320 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 20 20 20 68 69 73 74 p.could.be.a.matter.of......hist
5b340 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 65 20 73 75 62 6a 65 orical.connection.with.the.subje
5b360 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 2c 20 6f 72 0a 20 ct.or.with.related.matters,.or..
5b380 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 20 70 68 69 6c 6f 73 ....of.legal,.commercial,.philos
5b3a0 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 6f ophical,.ethical.or.political.po
5b3c0 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 6d 2e 0a 0a 20 20 20 sition......regarding.them......
5b3e0 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 6e 73 e2 80 9d 20 61 ..The....Invariant.Sections....a
5b400 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 69 6f 6e 73 20 77 68 re.certain.Secondary.Sections.wh
5b420 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 6e 61 74 65 64 2c 20 ose......titles.are.designated,.
5b440 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 6e 74 20 53 65 63 74 as.being.those.of.Invariant.Sect
5b460 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 74 68 61 74 20 73 61 ions,.in.the......notice.that.sa
5b480 79 73 20 74 68 61 74 20 74 68 65 20 44 6f 63 75 6d 65 6e 74 20 69 73 20 72 65 6c 65 61 73 65 64 ys.that.the.Document.is.released
5b4a0 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 20 49 66 20 61 20 73 .under.this.License.......If.a.s
5b4c0 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 62 6f 76 65 20 64 65 ection.does.not.fit.the.above.de
5b4e0 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 6e 20 69 74 0a 20 20 finition.of.Secondary.then.it...
5b500 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 65 73 69 67 6e 61 74 ...is.not.allowed.to.be.designat
5b520 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 20 6d ed.as.Invariant...The.Document.m
5b540 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 72 69 61 6e 74 20 53 ay......contain.zero.Invariant.S
5b560 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 20 64 6f 65 73 20 6e ections...If.the.Document.does.n
5b580 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 72 69 61 6e 74 20 53 ot.identify......any.Invariant.S
5b5a0 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 6e 65 2e 0a 0a 20 20 ections.then.there.are.none.....
5b5c0 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 61 72 65 20 63 65 72 ...The....Cover.Texts....are.cer
5b5e0 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 78 74 20 74 68 61 74 tain.short.passages.of.text.that
5b600 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 74 2d 43 6f 76 65 72 .are......listed,.as.Front-Cover
5b620 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 2c 20 69 6e 20 74 .Texts.or.Back-Cover.Texts,.in.t
5b640 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 74 68 61 74 20 74 68 he.notice......that.says.that.th
5b660 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 64 65 72 20 74 68 69 e.Document.is.released.under.thi
5b680 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 43 6f 76 65 72 20 54 s.License...A......Front-Cover.T
5b6a0 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 73 2c 20 61 6e 64 20 ext.may.be.at.most.5.words,.and.
5b6c0 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 20 20 62 65 20 61 74 a.Back-Cover.Text.may......be.at
5b6e0 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 80 9c 54 72 61 6e 73 .most.25.words........A....Trans
5b700 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 75 6d 65 6e 74 20 6d parent....copy.of.the.Document.m
5b720 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 6f 70 79 2c 0a 20 20 eans.a.machine-readable.copy,...
5b740 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 74 20 77 68 6f 73 65 ...represented.in.a.format.whose
5b760 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 6c 65 20 74 6f 20 74 .specification.is.available.to.t
5b780 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 68 61 74 20 69 73 20 he......general.public,.that.is.
5b7a0 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 20 64 6f 63 75 6d 65 suitable.for.revising.the.docume
5b7c0 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 20 77 69 74 68 20 67 nt......straightforwardly.with.g
5b7e0 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 6f 72 20 69 6d 61 67 eneric.text.editors.or.(for.imag
5b800 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 73 29 20 67 65 6e 65 es.composed......of.pixels).gene
5b820 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 77 69 ric.paint.programs.or.(for.drawi
5b840 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 69 6c 61 62 6c 65 20 ngs).some.widely......available.
5b860 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 69 73 20 73 75 69 74 drawing.editor,.and.that.is.suit
5b880 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 20 20 20 66 6f 72 6d able.for.input.to.text......form
5b8a0 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 72 61 6e 73 6c 61 74 atters.or.for.automatic.translat
5b8c0 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 74 73 0a 20 20 20 20 ion.to.a.variety.of.formats.....
5b8e0 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 20 66 6f 72 6d .suitable.for.input.to.text.form
5b900 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 6e 20 6f 74 68 65 72 atters...A.copy.made.in.an.other
5b920 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 65 20 66 6f 72 6d 61 wise......Transparent.file.forma
5b940 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 65 20 6f 66 20 6d 61 t.whose.markup,.or.absence.of.ma
5b960 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 67 65 64 20 74 6f 20 rkup,.has......been.arranged.to.
5b980 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 65 71 75 65 6e 74 20 thwart.or.discourage.subsequent.
5b9a0 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 65 72 73 20 69 73 20 modification.by......readers.is.
5b9c0 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 65 20 66 6f 72 6d 61 not.Transparent...An.image.forma
5b9e0 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 20 20 20 20 75 73 65 t.is.not.Transparent.if......use
5ba00 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 75 6e 74 20 6f 66 20 d.for.any.substantial.amount.of.
5ba20 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 0a 20 20 20 20 20 e2 text...A.copy.that.is.not.......
5ba40 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 64 20 e2 80 9c 4f 70 ..Transparent....is.called....Op
5ba60 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 66 20 73 75 69 74 61 aque...........Examples.of.suita
5ba80 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 6e 74 20 63 6f 70 69 ble.formats.for.Transparent.copi
5baa0 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 49 49 20 77 69 74 68 es.include.plain......ASCII.with
5bac0 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 20 66 6f 72 6d 61 74 out.markup,.Texinfo.input.format
5bae0 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 20 20 53 47 4d 4c 20 ,.LaTeX.input.format,......SGML.
5bb00 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 76 61 69 6c 61 62 6c or.XML.using.a.publicly.availabl
5bb20 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 72 6d 69 6e 67 0a 20 e.DTD,.and.standard-conforming..
5bb40 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 70 74 20 6f 72 20 50 ....simple.HTML,.PostScript.or.P
5bb60 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 63 61 74 69 DF.designed.for.human.modificati
5bb80 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 73 70 61 72 65 6e 74 on.......Examples.of.transparent
5bba0 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.
5bbc0 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 61 74 73 20 69 6e 63 and.JPG.......Opaque.formats.inc
5bbe0 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 74 68 61 74 20 63 61 lude.proprietary.formats.that.ca
5bc00 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 20 6f 6e 6c 79 20 62 n.be.read.and......edited.only.b
5bc20 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 73 6f 72 73 2c 20 53 y.proprietary.word.processors,.S
5bc40 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 20 74 68 65 20 44 54 GML.or.XML.for.which......the.DT
5bc60 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 20 61 72 65 20 6e 6f D.and/or.processing.tools.are.no
5bc80 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 64 0a 20 20 20 20 20 t.generally.available,.and......
5bca0 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 4c 2c 20 50 6f 73 74 the.machine-generated.HTML,.Post
5bcc0 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 20 73 6f 6d 65 20 77 Script.or.PDF.produced.by.some.w
5bce0 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 75 74 70 75 74 20 70 ord......processors.for.output.p
5bd00 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 80 9c 54 69 74 6c 65 urposes.only........The....Title
5bd20 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 6e 74 65 64 20 62 6f .Page....means,.for.a.printed.bo
5bd40 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 20 20 20 20 20 ok,.the.title.page.itself,......
5bd60 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 20 61 73 20 61 72 65 plus.such.following.pages.as.are
5bd80 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 20 74 68 65 0a 20 20 .needed.to.hold,.legibly,.the...
5bda0 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 72 65 71 75 69 72 65 ...material.this.License.require
5bdc0 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 70 61 67 65 2e 20 20 s.to.appear.in.the.title.page...
5bde0 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 20 77 68 69 63 68 20 For......works.in.formats.which.
5be00 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 65 20 61 73 20 73 75 do.not.have.any.title.page.as.su
5be20 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 20 6d 65 61 6e 73 20 ch,....Title......Page....means.
5be40 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 6f 6d 69 6e 65 6e 74 the.text.near.the.most.prominent
5be60 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 6f 72 6b e2 80 99 73 .appearance.of.the......work...s
5be80 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 69 6e 6e 69 6e 67 20 .title,.preceding.the.beginning.
5bea0 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 20 20 20 20 20 54 of.the.body.of.the.text........T
5bec0 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 61 6e 79 20 70 65 72 he....publisher....means.any.per
5bee0 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 62 75 74 65 73 20 63 son.or.entity.that.distributes.c
5bf00 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 74 20 74 6f 20 74 68 opies......of.the.Document.to.th
5bf20 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 20 e2 80 9c 45 6e 74 e.public........A.section....Ent
5bf40 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 64 20 73 75 62 75 6e itled.XYZ....means.a.named.subun
5bf60 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 68 6f 73 65 20 74 69 it.of.the.Document......whose.ti
5bf80 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 59 5a 20 6f 72 20 63 tle.either.is.precisely.XYZ.or.c
5bfa0 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 73 0a 20 20 20 20 20 ontains.XYZ.in.parentheses......
5bfc0 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 6c 61 74 65 73 20 58 following.text.that.translates.X
5bfe0 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 28 48 65 72 65 20 58 YZ.in.another.language...(Here.X
5c000 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 69 66 69 63 20 73 65 YZ......stands.for.a.specific.se
5c020 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 75 63 68 ction.name.mentioned.below,.such
5c040 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 6e 74 73 e2 80 9d 2c .as.........Acknowledgements...,
5c060 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 64 6f 72 73 65 6d 65 ....Dedications...,....Endorseme
5c080 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 29 0a 20 20 20 20 20 nts...,.or....History....)......
5c0a0 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 80 9d 20 6f 66 20 73 To....Preserve.the.Title....of.s
5c0c0 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 64 69 66 79 20 74 68 uch.a.section.when.you.modify.th
5c0e0 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 74 20 69 74 20 72 65 e......Document.means.that.it.re
5c100 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 65 64 20 58 59 5a e2 mains.a.section....Entitled.XYZ.
5c120 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 20 64 65 66 69 6e 69 ...according......to.this.defini
5c140 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 6d 61 79 20 69 6e 63 tion........The.Document.may.inc
5c160 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 20 6e 65 78 74 20 74 lude.Warranty.Disclaimers.next.t
5c180 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 74 61 74 65 73 20 74 o.the.notice......which.states.t
5c1a0 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 74 6f 20 74 68 65 20 hat.this.License.applies.to.the.
5c1c0 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 72 61 6e 74 79 20 44 Document...These......Warranty.D
5c1e0 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 20 74 6f 20 62 65 20 isclaimers.are.considered.to.be.
5c200 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 20 20 20 20 20 74 68 included.by.reference.in......th
5c220 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 65 67 61 72 64 73 20 is.License,.but.only.as.regards.
5c240 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 6e 79 20 6f 74 68 65 disclaiming.warranties:.any.othe
5c260 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 68 65 73 65 20 57 61 r......implication.that.these.Wa
5c280 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 76 65 20 69 73 20 76 rranty.Disclaimers.may.have.is.v
5c2a0 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 74 20 6f 6e 20 74 68 oid.and......has.no.effect.on.th
5c2c0 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 0a 0a 20 20 32 2e e.meaning.of.this.License.....2.
5c2e0 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 6f 75 20 6d 61 79 20 .VERBATIM.COPYING.......You.may.
5c300 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 6e 74 copy.and.distribute.the.Document
5c320 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 20 20 20 63 6f 6d 6d .in.any.medium,.either......comm
5c340 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 2c 20 70 72 6f ercially.or.noncommercially,.pro
5c360 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 74 68 65 0a 20 20 20 vided.that.this.License,.the....
5c380 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 74 68 65 20 6c 69 63 ..copyright.notices,.and.the.lic
5c3a0 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 69 63 65 6e 73 65 0a ense.notice.saying.this.License.
5c3c0 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 65 6e 74 20 61 72 65 .....applies.to.the.Document.are
5c3e0 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 2c 20 61 6e 64 20 74 .reproduced.in.all.copies,.and.t
5c400 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 20 63 6f 6e 64 69 74 hat.you......add.no.other.condit
5c420 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 6f 66 20 74 68 69 73 ions.whatsoever.to.those.of.this
5c440 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 6f 74 20 75 73 65 20 .License...You......may.not.use.
5c460 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 74 72 75 63 74 20 6f technical.measures.to.obstruct.o
5c480 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 20 20 6f 72 20 66 75 r.control.the.reading......or.fu
5c4a0 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 65 73 20 79 6f 75 20 rther.copying.of.the.copies.you.
5c4c0 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 2c 0a 20 20 make.or.distribute...However,...
5c4e0 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 61 74 69 6f 6e 20 69 ...you.may.accept.compensation.i
5c500 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 66 20 79 6f 75 0a 20 n.exchange.for.copies...If.you..
5c520 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 6f 75 67 68 20 6e 75 ....distribute.a.large.enough.nu
5c540 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 6c 73 6f 20 66 6f 6c mber.of.copies.you.must.also.fol
5c560 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 6e 20 73 65 63 74 69 low.the......conditions.in.secti
5c580 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 6c 65 6e 64 20 63 6f on.3........You.may.also.lend.co
5c5a0 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 69 74 69 6f 6e 73 20 pies,.under.the.same.conditions.
5c5c0 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 75 20 6d 61 79 20 70 stated.above,......and.you.may.p
5c5e0 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 20 20 33 2e 20 43 4f ublicly.display.copies.....3..CO
5c600 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 66 20 79 6f 75 20 70 PYING.IN.QUANTITY.......If.you.p
5c620 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 20 63 6f 70 69 65 73 ublish.printed.copies.(or.copies
5c640 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 20 20 20 20 68 61 76 .in.media.that.commonly......hav
5c660 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 44 6f 63 75 6d 65 6e e.printed.covers).of.the.Documen
5c680 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 64 0a t,.numbering.more.than.100,.and.
5c6a0 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 65 6e 73 65 20 6e 6f .....the.Document...s.license.no
5c6c0 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 2c 20 79 6f 75 20 6d tice.requires.Cover.Texts,.you.m
5c6e0 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 65 73 20 69 6e 20 63 ust......enclose.the.copies.in.c
5c700 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 20 61 6e 64 20 6c 65 overs.that.carry,.clearly.and.le
5c720 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 65 72 20 54 65 78 74 gibly,.all......these.Cover.Text
5c740 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 68 65 20 66 72 6f 6e s:.Front-Cover.Texts.on.the.fron
5c760 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 76 65 72 20 54 65 78 t.cover,.and......Back-Cover.Tex
5c780 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 74 68 20 63 6f 76 65 ts.on.the.back.cover...Both.cove
5c7a0 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 20 61 6e 64 20 6c 65 rs.must.also.clearly......and.le
5c7c0 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 20 70 75 62 6c 69 73 gibly.identify.you.as.the.publis
5c7e0 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 0a 20 20 20 20 20 66 her.of.these.copies...The......f
5c800 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 68 65 20 66 75 6c 6c ront.cover.must.present.the.full
5c820 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 69 74 .title.with.all.words.of.the.tit
5c840 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 20 61 6e 64 20 76 69 le......equally.prominent.and.vi
5c860 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 20 6d 61 74 65 72 69 sible...You.may.add.other.materi
5c880 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 61 64 64 69 74 69 6f al.on.the......covers.in.additio
5c8a0 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 6c 69 6d 69 74 65 64 n...Copying.with.changes.limited
5c8c0 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 6f 6e 67 20 61 73 20 .to.the.covers,.as......long.as.
5c8e0 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 66 20 74 68 65 20 44 they.preserve.the.title.of.the.D
5c900 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 0a 20 20 20 20 20 63 ocument.and.satisfy.these......c
5c920 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 20 61 73 20 76 65 72 onditions,.can.be.treated.as.ver
5c940 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 73 70 65 63 74 73 2e batim.copying.in.other.respects.
5c960 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 78 74 73 20 66 6f 72 .......If.the.required.texts.for
5c980 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 75 6d 69 6e 6f 75 73 .either.cover.are.too.voluminous
5c9a0 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 20 73 68 6f 75 6c 64 .to.fit......legibly,.you.should
5c9c0 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 73 20 6d .put.the.first.ones.listed.(as.m
5c9e0 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 79 29 20 6f 6e 20 74 any.as.fit......reasonably).on.t
5ca00 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 69 6e 75 65 20 74 68 he.actual.cover,.and.continue.th
5ca20 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 20 70 61 67 65 73 2e e.rest.onto......adjacent.pages.
5ca40 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 64 69 73 74 72 69 62 .......If.you.publish.or.distrib
5ca60 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 44 6f 63 75 6d 65 6e ute.Opaque.copies.of.the.Documen
5ca80 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 6e 20 31 30 30 2c 20 t......numbering.more.than.100,.
5caa0 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 20 6d 61 63 68 69 6e you.must.either.include.a.machin
5cac0 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 6e 74 20 63 6f 70 79 e-readable......Transparent.copy
5cae0 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 6f 70 79 2c 20 6f 72 .along.with.each.Opaque.copy,.or
5cb00 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 63 68 20 4f 70 61 71 .state.in.or.with......each.Opaq
5cb20 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 6b 20 6c 6f 63 61 74 ue.copy.a.computer-network.locat
5cb40 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 0a 20 20 20 20 20 ion.from.which.the.general......
5cb60 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 61 63 63 65 73 73 20 network-using.public.has.access.
5cb80 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
5cba0 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 61 20 63 6f 6d 70 6c d......network.protocols.a.compl
5cbc0 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 68 65 20 44 6f 63 75 ete.Transparent.copy.of.the.Docu
5cbe0 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 6d 61 74 65 72 69 61 ment,.free......of.added.materia
5cc00 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 20 6f 70 74 69 6f 6e l...If.you.use.the.latter.option
5cc20 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 6f 6e 61 62 6c 79 20 ,.you.must.take......reasonably.
5cc40 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 65 67 69 6e 20 64 69 prudent.steps,.when.you.begin.di
5cc60 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 20 63 6f 70 69 65 73 stribution.of.Opaque......copies
5cc80 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 68 61 74 20 74 68 69 .in.quantity,.to.ensure.that.thi
5cca0 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 20 20 20 20 72 65 6d s.Transparent.copy.will......rem
5ccc0 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 20 73 74 61 74 65 ain.thus.accessible.at.the.state
5cce0 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 20 6f 6e 65 0a 20 20 d.location.until.at.least.one...
5cd00 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 6d 65 20 79 6f 75 20 ...year.after.the.last.time.you.
5cd20 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 20 28 64 69 72 65 63 distribute.an.Opaque.copy.(direc
5cd40 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 61 67 65 6e 74 73 20 tly.or......through.your.agents.
5cd60 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 74 69 6f 6e 20 74 6f or.retailers).of.that.edition.to
5cd80 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 72 65 71 75 65 73 74 .the.public........It.is.request
5cda0 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 74 20 79 6f 75 20 63 ed,.but.not.required,.that.you.c
5cdc0 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 20 20 74 68 65 20 44 ontact.the.authors.of......the.D
5cde0 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 74 72 69 62 75 74 69 ocument.well.before.redistributi
5ce00 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 70 69 65 73 2c 0a 20 ng.any.large.number.of.copies,..
5ce20 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 20 74 6f 20 70 72 6f ....to.give.them.a.chance.to.pro
5ce40 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 76 65 72 73 69 6f 6e vide.you.with.an.updated.version
5ce60 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 20 34 2e 20 4d 4f 44 .of.the......Document.....4..MOD
5ce80 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 63 6f 70 79 20 61 6e IFICATIONS.......You.may.copy.an
5cea0 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 69 6f 6e 20 d.distribute.a.Modified.Version.
5cec0 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 72 20 74 68 65 20 63 of.the.Document......under.the.c
5cee0 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 6e 64 20 33 20 61 62 onditions.of.sections.2.and.3.ab
5cf00 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 20 20 20 72 65 6c 65 ove,.provided.that.you......rele
5cf20 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 75 6e 64 65 72 20 70 ase.the.Modified.Version.under.p
5cf40 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 74 68 20 74 68 65 0a recisely.this.License,.with.the.
5cf60 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 6c 69 6e 67 20 74 68 .....Modified.Version.filling.th
5cf80 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 68 75 73 20 6c 69 63 e.role.of.the.Document,.thus.lic
5cfa0 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 61 6e 64 20 6d 6f 64 ensing......distribution.and.mod
5cfc0 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 20 56 65 72 73 69 6f ification.of.the.Modified.Versio
5cfe0 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 65 73 20 61 20 63 6f n.to.whoever......possesses.a.co
5d000 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 6f 75 20 6d 75 73 74 py.of.it...In.addition,.you.must
5d020 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 74 68 65 20 4d 6f 64 .do.these.things.in......the.Mod
5d040 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 20 55 73 65 20 69 6e ified.Version:.........A..Use.in
5d060 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 68 65 20 63 6f 76 65 .the.Title.Page.(and.on.the.cove
5d080 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 20 20 20 20 20 64 69 rs,.if.any).a.title...........di
5d0a0 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 6f 63 75 6d 65 6e 74 stinct.from.that.of.the.Document
5d0c0 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 73 0a 20 20 20 ,.and.from.those.of.previous....
5d0e0 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 6f 75 6c 64 2c 20 69 .......versions.(which.should,.i
5d100 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 65 64 20 69 6e 20 74 f.there.were.any,.be.listed.in.t
5d120 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 69 6f 6e 20 6f 66 20 he...........History.section.of.
5d140 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 73 65 20 74 68 65 20 the.Document)...You.may.use.the.
5d160 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 20 70 72 65 76 69 6f same.title...........as.a.previo
5d180 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 6c 20 70 75 62 6c 69 us.version.if.the.original.publi
5d1a0 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 72 73 69 6f 6e 20 67 sher.of.that...........version.g
5d1c0 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 42 2e 20 4c 69 73 74 ives.permission..........B..List
5d1e0 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 74 68 6f 72 73 2c 20 .on.the.Title.Page,.as.authors,.
5d200 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 20 20 20 20 20 20 20 one.or.more.persons.or..........
5d220 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 20 61 75 74 68 6f 72 .entities.responsible.for.author
5d240 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 20 69 6e 0a 20 20 20 ship.of.the.modifications.in....
5d260 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 6f 6e 2c 20 74 6f 67 .......the.Modified.Version,.tog
5d280 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 20 74 68 65 0a ether.with.at.least.five.of.the.
5d2a0 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 72 73 20 6f 66 20 74 ..........principal.authors.of.t
5d2c0 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 72 69 6e 63 69 70 61 he.Document.(all.of.its.principa
5d2e0 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 74 20 68 61 73 20 66 l...........authors,.if.it.has.f
5d300 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 68 65 79 20 72 65 6c ewer.than.five),.unless.they.rel
5d320 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 68 69 73 20 72 65 71 ease.you...........from.this.req
5d340 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 65 20 6f 6e 20 74 68 uirement..........C..State.on.th
5d360 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 70 75 62 e.Title.page.the.name.of.the.pub
5d380 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 6f 64 69 66 69 65 64 lisher.of.the...........Modified
5d3a0 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 72 2e 0a 0a 20 20 20 .Version,.as.the.publisher......
5d3c0 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 6f 70 79 72 69 67 68 ....D..Preserve.all.the.copyrigh
5d3e0 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 2e 0a 0a 20 20 20 20 t.notices.of.the.Document.......
5d400 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 63 6f 70 79 72 69 67 ...E..Add.an.appropriate.copyrig
5d420 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 63 61 74 69 6f 6e 73 ht.notice.for.your.modifications
5d440 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 65 20 6f 74 68 65 72 ...........adjacent.to.the.other
5d460 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 20 20 20 46 2e 20 49 .copyright.notices..........F..I
5d480 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 20 63 6f nclude,.immediately.after.the.co
5d4a0 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 0a 20 20 20 20 20 pyright.notices,.a.license......
5d4c0 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 62 6c 69 63 20 70 65 .....notice.giving.the.public.pe
5d4e0 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 69 65 64 0a 20 20 20 rmission.to.use.the.Modified....
5d500 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 74 65 72 6d 73 20 6f .......Version.under.the.terms.o
5d520 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 72 6d 20 73 68 6f 77 f.this.License,.in.the.form.show
5d540 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 75 6d 20 62 65 6c 6f n.in...........the.Addendum.belo
5d560 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 20 74 68 61 74 20 6c w..........G..Preserve.in.that.l
5d580 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 20 icense.notice.the.full.lists.of.
5d5a0 49 6e 76 61 72 69 61 6e 74 0a 20 20 20 20 20 20 20 20 20 20 53 65 63 74 69 6f 6e 73 20 61 6e 64 Invariant...........Sections.and
5d5c0 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 65 6e 20 69 6e 20 74 .required.Cover.Texts.given.in.t
5d5e0 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 20 6c 69 63 65 6e 73 he.Document...s...........licens
5d600 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 75 64 65 20 61 6e 20 e.notice..........H..Include.an.
5d620 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 63 65 6e 73 65 2e 0a unaltered.copy.of.this.License..
5d640 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 65 63 74 69 6f 6e 20 ........I..Preserve.the.section.
5d660 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 72 65 73 65 72 76 65 Entitled....History...,.Preserve
5d680 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 20 61 64 64 20 74 6f .its.Title,...........and.add.to
5d6a0 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 61 73 74 20 74 68 65 .it.an.item.stating.at.least.the
5d6c0 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 20 20 20 61 75 74 68 .title,.year,.new...........auth
5d6e0 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 20 4d 6f 64 69 66 69 ors,.and.publisher.of.the.Modifi
5d700 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 65 0a 20 20 20 20 20 ed.Version.as.given.on.the......
5d720 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 65 20 69 73 20 6e 6f .....Title.Page...If.there.is.no
5d740 20 73 65 63 74 69 6f 6e 20 45 6e 74 69 74 6c 65 64 20 e2 80 9c 48 69 73 74 6f 72 79 e2 80 9d 20 .section.Entitled....History....
5d760 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 2c 20 63 72 65 61 74 in.the...........Document,.creat
5d780 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 79 65 61 72 2c 20 61 e.one.stating.the.title,.year,.a
5d7a0 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 6c 69 73 68 65 72 20 uthors,.and...........publisher.
5d7c0 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 6f 6e 20 69 74 73 20 of.the.Document.as.given.on.its.
5d7e0 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 20 20 20 20 20 20 61 Title.Page,.then.add...........a
5d800 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 64 20 56 n.item.describing.the.Modified.V
5d820 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 20 20 20 20 20 20 20 ersion.as.stated.in.the.........
5d840 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 20 20 20 20 4a 2e 20 ..previous.sentence..........J..
5d860 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 74 69 6f 6e 2c 20 69 Preserve.the.network.location,.i
5d880 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 65 6e 74 0a 20 20 20 f.any,.given.in.the.Document....
5d8a0 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 74 6f 20 61 20 54 72 .......for.public.access.to.a.Tr
5d8c0 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 20 ansparent.copy.of.the.Document,.
5d8e0 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 65 20 6e 65 74 77 6f and...........likewise.the.netwo
5d900 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 65 rk.locations.given.in.the.Docume
5d920 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 20 76 65 72 73 69 6f nt.for...........previous.versio
5d940 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 65 20 6d 61 79 20 62 ns.it.was.based.on...These.may.b
5d960 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 20 e2 80 9c 48 69 73 e.placed.in.the..............His
5d980 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 20 6f 6d 69 74 20 61 tory....section...You.may.omit.a
5d9a0 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 6f 72 6b 0a 20 20 20 .network.location.for.a.work....
5d9c0 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 20 61 74 20 6c 65 61 .......that.was.published.at.lea
5d9e0 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
5da00 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 20 74 68 65 20 6f 72 t...........itself,.or.if.the.or
5da20 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 65 72 73 69 6f 6e 20 iginal.publisher.of.the.version.
5da40 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 76 65 73 20 70 65 72 it.refers...........to.gives.per
5da60 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 6e 79 20 73 65 63 74 mission..........K..For.any.sect
5da80 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 67 65 6d 65 6e 74 73 ion.Entitled....Acknowledgements
5daa0 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 0a 20 20 20 20 20 20 ....or....Dedications...,.......
5dac0 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 20 74 68 65 20 73 65 ....Preserve.the.Title.of.the.se
5dae0 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 65 20 73 65 63 74 69 ction,.and.preserve.in.the.secti
5db00 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 74 61 6e 63 65 20 61 on...........all.the.substance.a
5db20 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 6e 74 72 69 62 75 74 nd.tone.of.each.of.the.contribut
5db40 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 65 6e 74 73 20 61 6e or...........acknowledgements.an
5db60 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 65 72 65 69 6e 2e 0a d/or.dedications.given.therein..
5db80 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 68 65 20 49 6e 76 61 ........L..Preserve.all.the.Inva
5dba0 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 2c 20 riant.Sections.of.the.Document,.
5dbc0 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 65 69 72 20 74 65 78 unaltered...........in.their.tex
5dbe0 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 65 63 74 69 6f 6e 20 t.and.in.their.titles...Section.
5dc00 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 65 71 75 69 76 61 6c numbers.or.the...........equival
5dc20 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 72 74 20 6f 66 20 74 ent.are.not.considered.part.of.t
5dc40 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 20 20 4d 2e 20 44 65 he.section.titles..........M..De
5dc60 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 20 e2 80 9c 45 6e 64 lete.any.section.Entitled....End
5dc80 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 74 69 6f 6e 0a 20 20 orsements......Such.a.section...
5dca0 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 65 64 20 69 6e 20 74 ........may.not.be.included.in.t
5dcc0 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 20 20 20 20 4e 2e 20 he.Modified.Version..........N..
5dce0 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 6e 67 20 73 65 63 74 Do.not.retitle.any.existing.sect
5dd00 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 20 20 20 20 e2 80 9c ion.to.be.Entitled..............
5dd20 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 66 6c 69 63 74 20 69 Endorsements....or.to.conflict.i
5dd40 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 74 0a 20 20 20 20 20 n.title.with.any.Invariant......
5dd60 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 50 72 65 73 65 72 76 .....Section..........O..Preserv
5dd80 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 0a 20 20 20 e.any.Warranty.Disclaimers......
5dda0 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 20 69 6e 63 6c 75 64 ..If.the.Modified.Version.includ
5ddc0 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 6f 6e 73 20 6f 72 0a es.new.front-matter.sections.or.
5dde0 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 69 66 79 20 61 73 20 .....appendices.that.qualify.as.
5de00 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 61 69 6e 20 6e Secondary.Sections.and.contain.n
5de20 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 6f 6d 20 74 68 65 20 o......material.copied.from.the.
5de40 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
5de60 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 6c 6c 20 6f 66 20 74 .designate......some.or.all.of.t
5de80 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 74 2e 20 20 54 6f 20 hese.sections.as.invariant...To.
5dea0 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 69 74 6c 65 73 20 74 do.this,.add.their......titles.t
5dec0 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 65 63 74 69 6f 6e 73 o.the.list.of.Invariant.Sections
5dee0 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 80 99 73 0a 20 20 20 .in.the.Modified.Version...s....
5df00 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 74 69 74 6c 65 73 20 ..license.notice...These.titles.
5df20 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 20 6f 74 68 65 72 0a must.be.distinct.from.any.other.
5df40 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 20 20 59 6f 75 20 6d .....section.titles........You.m
5df60 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 e2 80 9c 45 6e 64 ay.add.a.section.Entitled....End
5df80 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 20 63 6f 6e 74 61 69 orsements...,.provided.it.contai
5dfa0 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 73 65 6d 65 6e 74 73 ns......nothing.but.endorsements
5dfc0 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 20 62 79 20 76 61 72 .of.your.Modified.Version.by.var
5dfe0 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 78 61 6d 70 6c 65 2c ious......parties...for.example,
5e000 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 77 20 6f 72 20 74 68 .statements.of.peer.review.or.th
5e020 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 20 61 70 70 72 6f 76 at.the.text.has......been.approv
5e040 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 74 68 65 20 61 75 74 ed.by.an.organization.as.the.aut
5e060 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 20 20 20 20 20 61 20 horitative.definition.of......a.
5e080 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 64 64 20 61 20 70 61 standard........You.may.add.a.pa
5e0a0 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 20 61 73 20 61 20 46 ssage.of.up.to.five.words.as.a.F
5e0c0 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 20 61 20 70 61 73 73 ront-Cover.Text,......and.a.pass
5e0e0 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 61 63 6b 2d age.of.up.to.25.words.as.a.Back-
5e100 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 0a 20 20 20 20 20 74 Cover.Text,.to.the.end.of......t
5e120 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 20 74 68 65 20 4d 6f he.list.of.Cover.Texts.in.the.Mo
5e140 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 20 70 61 73 73 61 67 dified.Version...Only.one.passag
5e160 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 74 20 61 6e 64 20 6f e......of.Front-Cover.Text.and.o
5e180 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 20 62 65 20 61 64 64 ne.of.Back-Cover.Text.may.be.add
5e1a0 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 72 61 6e 67 65 6d 65 ed.by.(or......through.arrangeme
5e1c0 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 74 79 2e 20 20 49 66 nts.made.by).any.one.entity...If
5e1e0 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 79 20 69 6e 63 6c 75 .the.Document......already.inclu
5e200 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 73 61 6d 65 20 63 6f des.a.cover.text.for.the.same.co
5e220 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 20 20 62 79 20 79 6f ver,.previously.added......by.yo
5e240 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 62 79 20 74 68 65 20 u.or.by.arrangement.made.by.the.
5e260 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 67 20 6f 6e 0a 20 20 same.entity.you.are.acting.on...
5e280 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 20 61 64 64 20 61 6e ...behalf.of,.you.may.not.add.an
5e2a0 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 20 74 68 65 20 6f other;.but.you.may.replace.the.o
5e2c0 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 70 65 72 6d 69 73 73 ld......one,.on.explicit.permiss
5e2e0 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 20 ion.from.the.previous.publisher.
5e300 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 6e 65 2e 0a 0a 20 20 that.added......the.old.one.....
5e320 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 69 73 68 65 72 28 73 ...The.author(s).and.publisher(s
5e340 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 62 79 20 74 68 69 73 ).of.the.Document.do.not.by.this
5e360 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 73 69 6f 6e 20 74 6f ......License.give.permission.to
5e380 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 69 63 69 74 79 20 66 .use.their.names.for.publicity.f
5e3a0 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 6d 70 6c 79 20 65 6e or.or.to......assert.or.imply.en
5e3c0 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 20 56 65 72 73 69 6f dorsement.of.any.Modified.Versio
5e3e0 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 4e 54 53 0a 0a 20 20 n.....5..COMBINING.DOCUMENTS....
5e400 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 63 75 6d 65 6e 74 20 ...You.may.combine.the.Document.
5e420 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 61 73 65 64 20 75 6e with.other.documents.released.un
5e440 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 64 65 72 20 74 68 65 der......this.License,.under.the
5e460 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 61 62 6f 76 .terms.defined.in.section.4.abov
5e480 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 6f 6e 73 2c 20 70 72 e.for......modified.versions,.pr
5e4a0 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 6e 20 74 68 65 20 63 ovided.that.you.include.in.the.c
5e4c0 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 65 20 49 6e 76 61 72 ombination.all......of.the.Invar
5e4e0 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 68 65 20 6f 72 69 67 iant.Sections.of.all.of.the.orig
5e500 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 64 69 66 69 65 64 2c inal.documents,......unmodified,
5e520 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 61 72 69 61 6e 74 20 .and.list.them.all.as.Invariant.
5e540 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 62 69 6e 65 64 20 77 Sections.of.your......combined.w
5e560 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 2c 20 61 6e 64 20 74 ork.in.its.license.notice,.and.t
5e580 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 20 74 68 65 69 72 20 hat.you.preserve.all......their.
5e5a0 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 20 20 20 54 68 65 20 Warranty.Disclaimers........The.
5e5c0 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 6e 74 61 69 6e 20 combined.work.need.only.contain.
5e5e0 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 61 6e 64 0a 20 20 one.copy.of.this.License,.and...
5e600 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 61 72 69 61 6e 74 20 ...multiple.identical.Invariant.
5e620 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 20 Sections.may.be.replaced.with.a.
5e640 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 72 65 20 61 72 65 20 single......copy...If.there.are.
5e660 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 6e 73 20 77 69 74 68 multiple.Invariant.Sections.with
5e680 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 69 66 66 65 72 65 6e .the.same.name......but.differen
5e6a0 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 65 20 6f 66 20 65 61 t.contents,.make.the.title.of.ea
5e6c0 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 20 20 20 62 79 20 61 ch.such.section.unique......by.a
5e6e0 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 6e 20 70 61 72 65 6e dding.at.the.end.of.it,.in.paren
5e700 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 20 20 20 20 6f 72 69 theses,.the.name.of.the......ori
5e720 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 20 6f 66 20 74 68 61 ginal.author.or.publisher.of.tha
5e740 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 73 65 20 61 0a 20 20 t.section.if.known,.or.else.a...
5e760 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 68 65 20 73 61 6d 65 ...unique.number...Make.the.same
5e780 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 6e 20 74 69 74 6c 65 .adjustment.to.the.section.title
5e7a0 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 61 72 69 61 6e 74 20 s.in......the.list.of.Invariant.
5e7c0 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 20 6f Sections.in.the.license.notice.o
5e7e0 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 0a 0a 20 20 20 20 20 f.the......combined.work........
5e800 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 75 73 74 20 63 6f 6d In.the.combination,.you.must.com
5e820 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 64 0a 20 20 20 20 20 bine.any.sections.Entitled......
5e840 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 6f 75 73 20 6f 72 69 ...History....in.the.various.ori
5e860 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 6f 6e 65 20 73 65 63 ginal.documents,.forming.one.sec
5e880 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 74 6f 72 79 e2 80 9d tion......Entitled....History...
5e8a0 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 63 74 69 6f 6e 73 20 ;.likewise.combine.any.sections.
5e8c0 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 64 67 65 6d 65 6e 74 Entitled.........Acknowledgement
5e8e0 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 74 69 74 6c 65 64 20 s...,.and.any.sections.Entitled.
5e900 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 20 20 20 20 6d 75 73 ...Dedications......You......mus
5e920 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 69 74 6c 65 64 20 e2 t.delete.all.sections.Entitled..
5e940 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 43 4f 4c 4c 45 43 54 ..Endorsements........6..COLLECT
5e960 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 6f 75 20 6d 61 79 20 IONS.OF.DOCUMENTS.......You.may.
5e980 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 69 6e 67 20 6f 66 20 make.a.collection.consisting.of.
5e9a0 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 20 20 20 64 6f 63 75 the.Document.and.other......docu
5e9c0 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 20 4c 69 63 65 6e 73 ments.released.under.this.Licens
5e9e0 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 64 75 61 6c 0a 20 20 e,.and.replace.the.individual...
5ea00 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 20 69 6e 20 74 68 65 ...copies.of.this.License.in.the
5ea20 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 20 73 69 6e 67 6c 65 .various.documents.with.a.single
5ea40 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 65 64 20 69 6e 20 74 .copy......that.is.included.in.t
5ea60 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 68 61 74 20 79 6f 75 he.collection,.provided.that.you
5ea80 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 20 74 68 69 73 20 4c .follow.the......rules.of.this.L
5eaa0 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 6e 67 20 6f 66 20 65 icense.for.verbatim.copying.of.e
5eac0 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 20 69 6e 20 61 6c 6c ach.of.the.documents......in.all
5eae0 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 75 20 6d 61 79 20 65 .other.respects........You.may.e
5eb00 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 66 72 6f 6d 20 73 75 xtract.a.single.document.from.su
5eb20 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 20 64 69 73 74 72 69 ch.a.collection,.and......distri
5eb40 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 72 20 74 68 69 73 20 bute.it.individually.under.this.
5eb60 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 65 72 74 0a 20 20 20 License,.provided.you.insert....
5eb80 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 69 6e 74 6f 20 74 68 ..a.copy.of.this.License.into.th
5eba0 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 20 66 6f 6c 6c 6f 77 e.extracted.document,.and.follow
5ebc0 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 20 6f 74 68 65 72 20 .this......License.in.all.other.
5ebe0 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 69 6d 20 63 6f 70 79 respects.regarding.verbatim.copy
5ec00 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 2e 0a 0a 20 20 37 2e ing.of.that......document.....7.
5ec20 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 44 45 4e 54 20 57 4f .AGGREGATION.WITH.INDEPENDENT.WO
5ec40 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 66 20 74 68 65 20 44 RKS.......A.compilation.of.the.D
5ec60 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.
5ec80 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 6e 64 65 70 65 6e 64 other......separate.and.independ
5eca0 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 6e 20 6f 72 20 6f 6e ent.documents.or.works,.in.or.on
5ecc0 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 67 65 20 6f 72 20 64 .a.volume.of.a......storage.or.d
5ece0 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 6c 6c 65 64 20 61 6e istribution.medium,.is.called.an
5ed00 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 20 20 20 20 63 6f 70 ....aggregate....if.the......cop
5ed20 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 20 63 6f 6d 70 69 6c yright.resulting.from.the.compil
5ed40 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 74 20 74 68 65 0a 20 ation.is.not.used.to.limit.the..
5ed60 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 6f 6d 70 69 6c 61 74 ....legal.rights.of.the.compilat
5ed80 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 20 74 68 65 20 69 6e ion...s.users.beyond.what.the.in
5eda0 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 74 2e 20 20 57 68 65 dividual......works.permit...Whe
5edc0 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 61 6e n.the.Document.is.included.in.an
5ede0 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 65 6e 73 65 20 64 6f .aggregate,.this......License.do
5ee00 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 20 77 6f 72 6b 73 20 es.not.apply.to.the.other.works.
5ee20 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 20 20 20 61 72 65 20 in.the.aggregate.which......are.
5ee40 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 20 77 6f 72 6b 73 20 not.themselves.derivative.works.
5ee60 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 20 74 68 65 20 43 6f of.the.Document........If.the.Co
5ee80 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 65 63 74 69 6f 6e 20 ver.Text.requirement.of.section.
5eea0 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 20 20 20 20 20 63 6f 3.is.applicable.to.these......co
5eec0 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 6e 20 69 66 20 74 68 pies.of.the.Document,.then.if.th
5eee0 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 6e 65 20 68 61 6c 66 e.Document.is.less.than.one.half
5ef00 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 67 61 74 65 2c 20 74 ......of.the.entire.aggregate,.t
5ef20 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 74 73 20 6d 61 79 20 he.Document...s.Cover.Texts.may.
5ef40 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 74 68 61 74 20 62 72 be.placed......on.covers.that.br
5ef60 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 61 67 acket.the.Document.within.the.ag
5ef80 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 74 72 6f 6e 69 63 20 gregate,.or.the......electronic.
5efa0 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 68 65 20 44 6f 63 75 equivalent.of.covers.if.the.Docu
5efc0 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 20 20 66 6f 72 6d 2e ment.is.in.electronic......form.
5efe0 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 65 61 72 20 6f 6e 20 ..Otherwise.they.must.appear.on.
5f000 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 65 74 0a 20 20 20 20 printed.covers.that.bracket.....
5f020 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 38 2e 20 54 52 41 4e .the.whole.aggregate.....8..TRAN
5f040 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 20 69 73 20 63 6f 6e SLATION.......Translation.is.con
5f060 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 61 74 69 6f 6e 2c 20 sidered.a.kind.of.modification,.
5f080 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 65 20 74 72 61 6e 73 so.you.may......distribute.trans
5f0a0 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 6e 64 65 72 20 74 68 lations.of.the.Document.under.th
5f0c0 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 2e 20 20 52 65 70 6c e.terms.of.section......4...Repl
5f0e0 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 20 74 72 acing.Invariant.Sections.with.tr
5f100 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 20 20 20 20 anslations.requires.special.....
5f120 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 70 79 72 69 67 68 74 .permission.from.their.copyright
5f140 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 6c 75 64 65 0a 20 20 .holders,.but.you.may.include...
5f160 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 72 20 61 6c 6c 20 49 ...translations.of.some.or.all.I
5f180 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 74 69 6f 6e 20 74 6f nvariant.Sections.in.addition.to
5f1a0 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 .the......original.versions.of.t
5f1c0 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 20 59 6f 75 20 6d 61 hese.Invariant.Sections...You.ma
5f1e0 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 69 6f 6e 20 6f 66 20 y.include.a......translation.of.
5f200 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 20 6c 69 63 65 6e 73 this.License,.and.all.the.licens
5f220 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 75 6d 65 6e 74 2c 20 e.notices.in.the......Document,.
5f240 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 65 72 73 2c 20 70 72 and.any.Warranty.Disclaimers,.pr
5f260 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 20 69 6e 63 6c 75 64 ovided.that.you.also......includ
5f280 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 72 73 69 6f 6e 20 6f e.the.original.English.version.o
5f2a0 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 20 20 20 6f 72 69 67 f.this.License.and.the......orig
5f2c0 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 74 69 63 65 73 20 61 inal.versions.of.those.notices.a
5f2e0 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 0a 20 20 nd.disclaimers...In.case.of.a...
5f300 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 68 65 20 74 72 61 6e ...disagreement.between.the.tran
5f320 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 76 65 72 73 69 6f 6e slation.and.the.original.version
5f340 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 61 20 6e 6f 74 69 63 .of......this.License.or.a.notic
5f360 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 69 6e 61 6c 20 76 65 e.or.disclaimer,.the.original.ve
5f380 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 0a 20 20 20 20 20 49 rsion.will......prevail........I
5f3a0 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 6e 74 20 69 73 20 45 f.a.section.in.the.Document.is.E
5f3c0 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 74 73 e2 80 9d 2c 0a ntitled....Acknowledgements...,.
5f3e0 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 72 20 e2 80 9c 48 69 ........Dedications...,.or....Hi
5f400 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 20 28 73 65 63 74 69 story...,.the.requirement.(secti
5f420 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 73 20 54 69 74 6c 65 on.4).to......Preserve.its.Title
5f440 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 6c 79 20 72 65 71 75 .(section.1).will.typically.requ
5f460 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 75 61 6c 20 74 69 74 ire.changing.the......actual.tit
5f480 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 20 20 20 59 6f 75 20 le.....9..TERMINATION.......You.
5f4a0 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 6c 69 63 65 6e 73 65 may.not.copy,.modify,.sublicense
5f4c0 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 65 6e 74 0a 20 20 20 ,.or.distribute.the.Document....
5f4e0 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 76 69 64 65 64 20 75 ..except.as.expressly.provided.u
5f500 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 74 74 65 6d 70 74 0a nder.this.License...Any.attempt.
5f520 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 6f 64 69 66 79 2c 20 .....otherwise.to.copy,.modify,.
5f540 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 69 74 20 69 73 20 sublicense,.or.distribute.it.is.
5f560 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 61 74 69 63 61 6c 6c void,......and.will.automaticall
5f580 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 72 20 74 68 y.terminate.your.rights.under.th
5f5a0 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 2c 20 69 66 20 79 6f is.License........However,.if.yo
5f5c0 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 4c 69 u.cease.all.violation.of.this.Li
5f5e0 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 65 6e 73 65 20 66 72 cense,.then.your......license.fr
5f600 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
5f620 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 72 6f 76 69 73 69 6f .is.reinstated.(a)......provisio
5f640 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 68 65 20 63 6f 70 79 nally,.unless.and.until.the.copy
5f660 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 6e 64 0a 20 20 20 20 right.holder.explicitly.and.....
5f680 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 6c 69 63 65 6e 73 65 .finally.terminates.your.license
5f6a0 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 20 74 68 65 0a 20 20 ,.and.(b).permanently,.if.the...
5f6c0 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 20 74 6f 20 6e 6f 74 ...copyright.holder.fails.to.not
5f6e0 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 62 79 20 73 6f 6d 65 ify.you.of.the.violation.by.some
5f700 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 69 6f 72 20 74 6f 20 ......reasonable.means.prior.to.
5f720 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 0a 0a 20 20 60.days.after.the.cessation.....
5f740 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 20 66 72 6f 6d 20 61 ...Moreover,.your.license.from.a
5f760 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 0a .particular.copyright.holder.is.
5f780 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 6c 79 20 69 66 20 74 .....reinstated.permanently.if.t
5f7a0 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 69 65 73 20 79 6f 75 he.copyright.holder.notifies.you
5f7c0 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 20 73 6f 6d 65 20 72 .of.the......violation.by.some.r
5f7e0 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 74 68 65 20 66 69 72 easonable.means,.this.is.the.fir
5f800 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 65 69 76 65 64 20 6e st.time.you.have......received.n
5f820 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 73 20 4c 69 63 65 6e otice.of.violation.of.this.Licen
5f840 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 20 20 20 74 68 61 74 se.(for.any.work).from......that
5f860 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 75 20 63 75 72 65 20 .copyright.holder,.and.you.cure.
5f880 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 20 64 61 79 73 0a 20 the.violation.prior.to.30.days..
5f8a0 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 20 74 68 65 20 6e 6f ....after.your.receipt.of.the.no
5f8c0 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 66 20 79 6f 75 72 20 tice........Termination.of.your.
5f8e0 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 73 20 6e rights.under.this.section.does.n
5f900 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 65 6e 73 65 73 20 6f ot.terminate......the.licenses.o
5f920 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
5f940 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 20 20 75 6e 64 65 72 es.or.rights.from.you......under
5f960 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 69 67 68 74 73 20 68 .this.License...If.your.rights.h
5f980 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 6f 74 0a 20 20 20 20 ave.been.terminated.and.not.....
5f9a0 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 72 65 63 65 69 70 74 .permanently.reinstated,.receipt
5f9c0 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 20 6f 66 20 74 68 65 .of.a.copy.of.some.or.all.of.the
5f9e0 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 6e 6f 74 20 67 69 76 ......same.material.does.not.giv
5fa00 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 74 2e 0a 0a 20 20 31 e.you.any.rights.to.use.it.....1
5fa20 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 49 53 20 4c 49 43 45 0..FUTURE.REVISIONS.OF.THIS.LICE
5fa40 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 72 65 20 46 6f 75 6e NSE.......The.Free.Software.Foun
5fa60 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 65 76 69 73 65 64 20 dation.may.publish.new,.revised.
5fa80 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 46 72 65 65 20 44 6f versions.of......the.GNU.Free.Do
5faa0 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 6d 65 20 74 6f cumentation.License.from.time.to
5fac0 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 73 69 6f 6e 73 20 77 .time...Such.new......versions.w
5fae0 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.
5fb00 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 20 20 20 20 20 64 69 present.version,.but.may......di
5fb20 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 20 6e 65 77 20 70 72 ffer.in.detail.to.address.new.pr
5fb40 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 20 20 20 20 20 3c 68 oblems.or.concerns...See......<h
5fb60 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a ttps://www.gnu.org/licenses/>...
5fb80 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 4c 69 63 65 6e 73 65 .....Each.version.of.the.License
5fba0 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 72 73 69 .is.given.a.distinguishing.versi
5fbc0 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 6f 63 75 6d 65 6e 74 on......number...If.the.Document
5fbe0 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 6c 61 72 20 6e 75 6d .specifies.that.a.particular.num
5fc00 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 73 20 4c 69 63 65 6e bered......version.of.this.Licen
5fc20 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 e2 80 9d 20 61 70 se....or.any.later.version....ap
5fc40 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 20 74 68 65 20 6f plies.to.it,.you......have.the.o
5fc60 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 6d 73 20 61 6e 64 ption.of.following.the.terms.and
5fc80 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 20 74 68 61 74 20 .conditions.either.of......that.
5fca0 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 6e 79 20 6c 61 74 65 specified.version.or.of.any.late
5fcc0 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 20 20 20 20 70 75 62 r.version.that.has.been......pub
5fce0 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 79 20 74 68 65 20 46 lished.(not.as.a.draft).by.the.F
5fd00 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 20 49 66 20 74 68 65 ree.Software.Foundation...If.the
5fd20 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 70 65 63 69 66 79 20 ......Document.does.not.specify.
5fd40 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 4c 69 63 65 6e 73 65 a.version.number.of.this.License
5fd60 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 20 76 65 72 73 69 6f ,.you.may......choose.any.versio
5fd80 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 61 20 64 72 61 66 74 n.ever.published.(not.as.a.draft
5fda0 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 72 65 20 46 6f 75 6e ).by.the.Free......Software.Foun
5fdc0 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 73 70 65 63 69 66 69 dation...If.the.Document.specifi
5fde0 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 64 65 63 69 64 65 20 es.that.a.proxy.can......decide.
5fe00 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 68 69 73 20 4c 69 which.future.versions.of.this.Li
5fe20 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 20 20 20 20 70 72 6f cense.can.be.used,.that......pro
5fe40 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 66 20 61 63 63 65 70 xy...s.public.statement.of.accep
5fe60 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 0a 20 tance.of.a.version.permanently..
5fe80 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 6f 73 65 20 74 68 61 ....authorizes.you.to.choose.tha
5fea0 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 74 2e 0a 0a 20 20 31 t.version.for.the.Document.....1
5fec0 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 61 73 73 69 76 65 20 1..RELICENSING..........Massive.
5fee0 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 20 53 69 74 65 e2 80 Multiauthor.Collaboration.Site..
5ff00 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 6e 73 20 61 6e 79 0a ..(or....MMC.Site...).means.any.
5ff20 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 72 20 74 68 61 74 20 .....World.Wide.Web.server.that.
5ff40 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 6f 72 6b 73 20 61 6e publishes.copyrightable.works.an
5ff60 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 69 6e 65 6e 74 20 66 d.also......provides.prominent.f
5ff80 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 65 64 69 74 20 74 68 acilities.for.anybody.to.edit.th
5ffa0 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 20 77 69 6b 69 20 74 ose.works...A......public.wiki.t
5ffc0 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 6d 70 hat.anybody.can.edit.is.an.examp
5ffe0 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 20 41 20 e2 80 9c 4d le.of.such.a.server.......A....M
60000 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
60020 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 6e 65 64 20 69 6e 20 ....(or....MMC...).contained.in.
60040 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 65 74 20 6f 66 20 63 the......site.means.any.set.of.c
60060 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 75 62 6c 69 73 68 65 opyrightable.works.thus.publishe
60080 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 20 20 20 20 20 e2 80 d.on.the.MMC......site..........
600a0 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 65 61 74 69 76 65 20 .CC-BY-SA....means.the.Creative.
600c0 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 20 41 6c 69 6b 65 20 Commons.Attribution-Share.Alike.
600e0 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 64 20 62 79 20 43 72 3.0......license.published.by.Cr
60100 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 61 20 6e 6f eative.Commons.Corporation,.a.no
60120 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 74 69 6f 6e 20 77 69 t-for-profit......corporation.wi
60140 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 75 73 69 6e 65 73 73 th.a.principal.place.of.business
60160 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 61 6c 69 66 6f 72 6e .in.San.Francisco,......Californ
60180 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 79 6c 65 66 74 20 76 ia,.as.well.as.future.copyleft.v
601a0 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 20 20 20 20 70 75 62 ersions.of.that.license......pub
601c0 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 69 7a 61 74 69 6f 6e lished.by.that.same.organization
601e0 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 20 6d 65 61 6e 73 20 ...........Incorporate....means.
60200 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 20 44 6f 63 75 6d 65 to.publish.or.republish.a.Docume
60220 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 61 72 74 2c 20 61 73 nt,.in.whole.or......in.part,.as
60240 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 2e 0a 0a 20 20 20 20 .part.of.another.Document.......
60260 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 72 20 72 65 6c 69 63 .An.MMC.is....eligible.for.relic
60280 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 65 64 20 75 6e 64 65 ensing....if.it.is.licensed.unde
602a0 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 69 66 20 61 6c 6c 20 r.this......License,.and.if.all.
602c0 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 6c 69 73 68 65 64 20 works.that.were.first.published.
602e0 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 6f 6d 65 77 68 65 72 under.this......License.somewher
60300 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 64 20 73 75 62 73 65 e.other.than.this.MMC,.and.subse
60320 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 20 69 6e 20 77 68 6f quently......incorporated.in.who
60340 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 43 2c 20 28 31 29 20 le.or.in.part.into.the.MMC,.(1).
60360 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 72 20 69 6e 76 61 72 had.no.cover......texts.or.invar
60380 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 72 65 20 74 68 75 73 iant.sections,.and.(2).were.thus
603a0 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 74 6f 20 4e 6f 76 65 .incorporated.prior......to.Nove
603c0 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 70 65 72 61 74 6f 72 mber.1,.2008........The.operator
603e0 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 68 20 61 6e .of.an.MMC.Site.may.republish.an
60400 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 20 20 73 69 74 65 20 .MMC.contained.in.the......site.
60420 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 65 20 73 69 74 65 20 under.CC-BY-SA.on.the.same.site.
60440 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 20 31 2c 0a 20 20 20 at.any.time.before.August.1,....
60460 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 69 73 20 65 6c 69 67 ..2009,.provided.the.MMC.is.elig
60480 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 44 45 4e 44 55 4d 3a ible.for.relicensing...ADDENDUM:
604a0 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 66 6f 72 20 79 6f 75 .How.to.use.this.License.for.you
604c0 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 3d 3d 3d 3d 3d 3d 3d r.documents.====================
604e0 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 ================================
60500 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 6f 63 75 6d ..To.use.this.License.in.a.docum
60520 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 65 20 61 20 ent.you.have.written,.include.a.
60540 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 6f 63 75 6d copy.of.the.License.in.the.docum
60560 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 70 79 72 69 ent.and.put.the.following.copyri
60580 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 75 73 74 20 61 66 74 ght.and.license.notices.just.aft
605a0 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 20 20 43 6f 70 79 72 er.the.title.page:.........Copyr
605c0 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 2e 0a 20 20 20 20 20 ight.(C)..YEAR..YOUR.NAME.......
605e0 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 70 79 2c ..Permission.is.granted.to.copy,
60600 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 73 20 64 .distribute.and/or.modify.this.d
60620 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 74 65 72 6d 73 20 6f ocument........under.the.terms.o
60640 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 63 f.the.GNU.Free.Documentation.Lic
60660 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 6f 72 20 61 6e 79 20 ense,.Version.1.3........or.any.
60680 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 46 later.version.published.by.the.F
606a0 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 20 20 20 20 20 20 20 ree.Software.Foundation;........
606c0 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 73 2c 20 6e 6f 20 46 with.no.Invariant.Sections,.no.F
606e0 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 42 61 63 6b 2d 43 6f ront-Cover.Texts,.and.no.Back-Co
60700 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 20 6f 66 20 74 68 65 ver........Texts...A.copy.of.the
60720 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 68 65 20 73 65 63 74 .license.is.included.in.the.sect
60740 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 20 46 72 65 65 20 44 ion.entitled.``GNU........Free.D
60760 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 20 20 20 49 66 20 79 ocumentation.License''......If.y
60780 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 2c 20 46 72 6f 6e ou.have.Invariant.Sections,.Fron
607a0 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 76 65 72 0a 54 65 78 t-Cover.Texts.and.Back-Cover.Tex
607c0 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 2e 54 65 78 74 73 2e ts,.replace.the....with...Texts.
607e0 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 20 20 20 20 20 77 69 ....line.with.this:...........wi
60800 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 20 62 65 69 6e 67 20 th.the.Invariant.Sections.being.
60820 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 20 20 20 20 20 20 20 LIST.THEIR.TITLES,.with.........
60840 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 69 6e 67 20 4c 49 53 .the.Front-Cover.Texts.being.LIS
60860 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 72 20 54 65 78 74 73 T,.and.with.the.Back-Cover.Texts
60880 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 20 49 66 20 79 6f 75 ..........being.LIST......If.you
608a0 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 77 69 74 68 6f 75 74 .have.Invariant.Sections.without
608c0 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 65 72 0a 63 6f 6d 62 .Cover.Texts,.or.some.other.comb
608e0 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 67 65 20 74 68 6f 73 ination.of.the.three,.merge.thos
60900 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 74 20 74 68 65 0a 73 e.two.alternatives.to.suit.the.s
60920 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 75 6d 65 6e 74 20 63 ituation......If.your.document.c
60940 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 65 73 20 6f 66 20 70 ontains.nontrivial.examples.of.p
60960 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 20 72 65 6c 65 61 73 rogram.code,.we.recommend.releas
60980 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 61 6c 6c 65 6c 20 75 ing.these.examples.in.parallel.u
609a0 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 73 6f 66 74 77 61 72 nder.your.choice.of.free.softwar
609c0 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 55 20 47 65 6e 65 72 e.license,.such.as.the.GNU.Gener
609e0 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 6d 69 74 0a 74 68 65 al.Public.License,.to.permit.the
60a00 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 0a 1f 0a 46 69 6c 65 ir.use.in.free.software.....File
60a20 3a 20 64 61 73 68 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 47 50 4c 2c 20 20 4e 65 78 74 3a 20 :.dash.info,..Node:.GPL,..Next:.
60a40 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 44 4c 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 Index,..Prev:.FDL,..Up:.Top..App
60a60 65 6e 64 69 78 20 42 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 endix.B.GNU.General.Public.Licen
60a80 73 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a se.*****************************
60aa0 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ********........................
60ac0 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 20 20 20 20 ..Version.3,.29.June.2007.......
60ae0 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 30 37 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 Copyright....2007.Free.Software.
60b00 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 72 Foundation,.Inc..<https://fsf.or
60b20 67 2f 3e 0a 0a 20 20 20 20 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 g/>.......Everyone.is.permitted.
60b40 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 20 to.copy.and.distribute.verbatim.
60b60 63 6f 70 69 65 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 copies.of.this......license.docu
60b80 6d 65 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 ment,.but.changing.it.is.not.all
60ba0 6f 77 65 64 2e 0a 0a 50 72 65 61 6d 62 6c 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 47 4e owed...Preamble.========..The.GN
60bc0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 73 20 61 20 66 72 U.General.Public.License.is.a.fr
60be0 65 65 2c 20 63 6f 70 79 6c 65 66 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 73 6f 66 74 77 61 72 ee,.copyleft.license.for.softwar
60c00 65 0a 61 6e 64 20 6f 74 68 65 72 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 2e 0a 0a 20 20 20 e.and.other.kinds.of.works......
60c20 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 77 61 72 65 20 61 The.licenses.for.most.software.a
60c40 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 72 65 20 64 65 73 nd.other.practical.works.are.des
60c60 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 65 65 64 6f 6d 20 igned.to.take.away.your.freedom.
60c80 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 72 6b 73 2e 20 20 to.share.and.change.the.works...
60ca0 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 61 6c 20 50 75 62 By.contrast,.the.GNU.General.Pub
60cc0 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 20 67 75 61 72 61 lic.License.is.intended.to.guara
60ce0 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 0a 73 68 61 72 65 20 61 6e 64 20 63 ntee.your.freedom.to.share.and.c
60d00 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 6f 67 72 61 6d e2 hange.all.versions.of.a.program.
60d20 80 94 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 69 74 20 72 65 6d 61 69 6e 73 20 66 72 65 65 0a 73 ..to.make.sure.it.remains.free.s
60d40 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 20 20 57 65 2c 20 oftware.for.all.its.users...We,.
60d60 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 2c 20 75 73 the.Free.Software.Foundation,.us
60d80 65 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 e.the.GNU.General.Public.License
60da0 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 20 69 74 20 61 70 .for.most.of.our.software;.it.ap
60dc0 70 6c 69 65 73 20 61 6c 73 6f 20 74 6f 0a 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 6b 20 72 65 6c plies.also.to.any.other.work.rel
60de0 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 6f 72 73 2e 20 20 eased.this.way.by.its.authors...
60e00 59 6f 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d You.can.apply.it.to.your.program
60e20 73 2c 20 74 6f 6f 2e 0a 0a 20 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 s,.too......When.we.speak.of.fre
60e40 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 74 6f 20 e.software,.we.are.referring.to.
60e60 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 72 61 6c freedom,.not.price...Our.General
60e80 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 20 74 6f .Public.Licenses.are.designed.to
60ea0 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 66 72 65 .make.sure.that.you.have.the.fre
60ec0 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 66 72 65 edom.to.distribute.copies.of.fre
60ee0 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 65 6d 20 e.software.(and.charge.for.them.
60f00 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 65 20 73 if.you.wish),.that.you.receive.s
60f20 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 6f 75 0a ource.code.or.can.get.it.if.you.
60f40 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 74 68 65 want.it,.that.you.can.change.the
60f60 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 20 69 6e .software.or.use.pieces.of.it.in
60f80 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 79 6f 75 .new.free.programs,.and.that.you
60fa0 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 2e 0a 0a .know.you.can.do.these.things...
60fc0 20 20 20 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
60fe0 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
61000 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
61020 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
61040 66 6f 72 65 2c 20 79 6f 75 20 68 61 76 65 0a 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 fore,.you.have.certain.responsib
61060 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
61080 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 0a 79 6f 75 20 6d 6f 64 69 .of.the.software,.or.if.you.modi
610a0 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
610c0 63 74 20 74 68 65 20 66 72 65 65 64 6f 6d 20 6f 66 20 6f 74 68 65 72 73 2e 0a 0a 20 20 20 46 6f ct.the.freedom.of.others......Fo
610e0 72 20 65 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 r.example,.if.you.distribute.cop
61100 69 65 73 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 ies.of.such.a.program,.whether.g
61120 72 61 74 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 ratis.or.for.a.fee,.you.must.pas
61140 73 20 6f 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 s.on.to.the.recipients.the.same.
61160 66 72 65 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 freedoms.that.you.received...You
61180 20 6d 75 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 20 .must.make.sure.that.they,.too,.
611a0 72 65 63 65 69 76 65 0a 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f receive.or.can.get.the.source.co
611c0 64 65 2e 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 de...And.you.must.show.them.thes
611e0 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 0a 6b 6e 6f 77 20 74 68 65 69 72 20 72 69 67 68 74 e.terms.so.they.know.their.right
61200 73 2e 0a 0a 20 20 20 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 s......Developers.that.use.the.G
61220 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 73 20 77 69 74 68 20 NU.GPL.protect.your.rights.with.
61240 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 79 72 69 67 68 74 20 two.steps:.(1).assert.copyright.
61260 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 6f 66 66 65 72 20 79 on.the.software,.and.(2).offer.y
61280 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 75 20 6c 65 67 61 6c ou.this.License.giving.you.legal
612a0 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 72 69 62 75 74 65 20 .permission.to.copy,.distribute.
612c0 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 20 46 6f 72 20 74 68 65 20 64 65 and/or.modify.it......For.the.de
612e0 76 65 6c 6f 70 65 72 73 e2 80 99 20 61 6e 64 20 61 75 74 68 6f 72 73 e2 80 99 20 70 72 6f 74 65 velopers....and.authors....prote
61300 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 73 0a ction,.the.GPL.clearly.explains.
61320 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 74 68 that.there.is.no.warranty.for.th
61340 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 65 72 is.free.software...For.both.user
61360 73 e2 80 99 20 61 6e 64 0a 61 75 74 68 6f 72 73 e2 80 99 20 73 61 6b 65 2c 20 74 68 65 20 47 50 s....and.authors....sake,.the.GP
61380 4c 20 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 L.requires.that.modified.version
613a0 73 20 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 s.be.marked.as.changed,.so.that.
613c0 74 68 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 their.problems.will.not.be.attri
613e0 62 75 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 buted.erroneously.to.authors.of.
61400 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 20 20 20 53 6f 6d 65 20 64 65 76 69 previous.versions......Some.devi
61420 63 65 73 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 ces.are.designed.to.deny.users.a
61440 63 63 65 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 ccess.to.install.or.run.modified
61460 20 76 65 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 .versions.of.the.software.inside
61480 20 74 68 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 .them,.although.the.manufacturer
614a0 0a 63 61 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 .can.do.so...This.is.fundamental
614c0 6c 79 20 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 ly.incompatible.with.the.aim.of.
614e0 70 72 6f 74 65 63 74 69 6e 67 20 75 73 65 72 73 e2 80 99 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 protecting.users....freedom.to.c
61500 68 61 6e 67 65 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 hange.the.software...The.systema
61520 74 69 63 0a 70 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 tic.pattern.of.such.abuse.occurs
61540 20 69 6e 20 74 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 .in.the.area.of.products.for.ind
61560 69 76 69 64 75 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 ividuals.to.use,.which.is.precis
61580 65 6c 79 20 77 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 ely.where.it.is.most.unacceptabl
615a0 65 2e 20 20 54 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 e...Therefore,.we.have.designed.
615c0 74 68 69 73 20 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 this.version.of.the.GPL.to.prohi
615e0 62 69 74 20 74 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 bit.the.practice.for.those.produ
61600 63 74 73 2e 20 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 cts...If.such.problems.arise.sub
61620 73 74 61 6e 74 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 stantially.in.other.domains,.we.
61640 73 74 61 6e 64 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 stand.ready.to.extend.this.provi
61660 73 69 6f 6e 20 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 sion.to.those.domains.in.future.
61680 76 65 72 73 69 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 versions.of.the.GPL,.as.needed.t
616a0 6f 20 70 72 6f 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 o.protect.the.freedom.of.users..
616c0 0a 20 20 20 46 69 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 ....Finally,.every.program.is.th
616e0 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 74 77 61 72 65 20 reatened.constantly.by.software.
61700 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 20 61 6c 6c 6f 77 patents..States.should.not.allow
61720 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 6f 70 6d 65 6e 74 .patents.to.restrict.development
61740 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 6e 65 72 61 6c 2d .and.use.of.software.on.general-
61760 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 74 68 6f 73 65 20 purpose.computers,.but.in.those.
61780 74 68 61 74 20 64 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 that.do,.we.wish.to.avoid.the.sp
617a0 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 61 70 70 6c 69 65 ecial.danger.that.patents.applie
617c0 64 20 74 6f 20 61 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 d.to.a.free.program.could.make.i
617e0 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 20 20 54 6f 20 70 t.effectively.proprietary...To.p
61800 72 65 76 65 6e 74 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 revent.this,.the.GPL.assures.tha
61820 74 0a 70 61 74 65 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 t.patents.cannot.be.used.to.rend
61840 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 20 20 20 54 68 65 er.the.program.non-free......The
61860 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 20 66 6f .precise.terms.and.conditions.fo
61880 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 6f 64 69 r.copying,.distribution.and.modi
618a0 66 69 63 61 74 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 fication.follow...TERMS.AND.COND
618c0 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 30 ITIONS.====================....0
618e0 2e 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 e2 80 9c 54 68 69 73 20 4c 69 63 ..Definitions...........This.Lic
61900 65 6e 73 65 e2 80 9d 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 ense....refers.to.version.3.of.t
61920 68 65 20 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 he.GNU.General.Public......Licen
61940 73 65 2e 0a 0a 20 20 20 20 20 e2 80 9c 43 6f 70 79 72 69 67 68 74 e2 80 9d 20 61 6c 73 6f 20 6d se...........Copyright....also.m
61960 65 61 6e 73 20 63 6f 70 79 72 69 67 68 74 2d 6c 69 6b 65 20 6c 61 77 73 20 74 68 61 74 20 61 70 eans.copyright-like.laws.that.ap
61980 70 6c 79 20 74 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 6b 69 6e 64 73 20 6f 66 20 77 6f 72 6b 73 ply.to.other......kinds.of.works
619a0 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 2e 0a 0a ,.such.as.semiconductor.masks...
619c0 20 20 20 20 20 e2 80 9c 54 68 65 20 50 72 6f 67 72 61 6d e2 80 9d 20 72 65 66 65 72 73 20 74 6f ........The.Program....refers.to
619e0 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 63 65 6e 73 65 64 .any.copyrightable.work.licensed
61a00 20 75 6e 64 65 72 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 45 61 63 68 20 .under.this......License...Each.
61a20 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 e2 80 9c 79 6f 75 e2 licensee.is.addressed.as....you.
61a40 80 9d 2e 20 20 e2 80 9c 4c 69 63 65 6e 73 65 65 73 e2 80 9d 20 61 6e 64 0a 20 20 20 20 20 e2 80 ........Licensees....and........
61a60 9c 72 65 63 69 70 69 65 6e 74 73 e2 80 9d 20 6d 61 79 20 62 65 20 69 6e 64 69 76 69 64 75 61 6c .recipients....may.be.individual
61a80 73 20 6f 72 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c s.or.organizations........To....
61aa0 6d 6f 64 69 66 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 6f 20 63 6f 70 79 20 66 modify....a.work.means.to.copy.f
61ac0 72 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 0a rom.or.adapt.all.or.part.of.the.
61ae0 20 20 20 20 20 77 6f 72 6b 20 69 6e 20 61 20 66 61 73 68 69 6f 6e 20 72 65 71 75 69 72 69 6e 67 .....work.in.a.fashion.requiring
61b00 20 63 6f 70 79 72 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 .copyright.permission,.other.tha
61b20 6e 20 74 68 65 0a 20 20 20 20 20 6d 61 6b 69 6e 67 20 6f 66 20 61 6e 20 65 78 61 63 74 20 63 6f n.the......making.of.an.exact.co
61b40 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 63 61 6c 6c 65 py...The.resulting.work.is.calle
61b60 64 20 61 20 e2 80 9c 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 20 d.a....modified......version....
61b80 6f 66 20 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 e2 80 of.the.earlier.work.or.a.work...
61ba0 9c 62 61 73 65 64 20 6f 6e e2 80 9d 20 74 68 65 20 65 61 72 6c 69 65 72 20 77 6f 72 6b 2e 0a 0a .based.on....the.earlier.work...
61bc0 20 20 20 20 20 41 20 e2 80 9c 63 6f 76 65 72 65 64 20 77 6f 72 6b e2 80 9d 20 6d 65 61 6e 73 20 .....A....covered.work....means.
61be0 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 72 either.the.unmodified.Program.or
61c00 20 61 20 77 6f 72 6b 0a 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 .a.work......based.on.the.Progra
61c20 6d 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 70 72 6f 70 61 67 61 74 65 e2 80 9d 20 61 20 77 6f m........To....propagate....a.wo
61c40 72 6b 20 6d 65 61 6e 73 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 69 74 20 rk.means.to.do.anything.with.it.
61c60 74 68 61 74 2c 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 2c 20 77 that,.without......permission,.w
61c80 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 63 6f 6e 64 ould.make.you.directly.or.second
61ca0 61 72 69 6c 79 20 6c 69 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 6d 65 arily.liable.for......infringeme
61cc0 6e 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 nt.under.applicable.copyright.la
61ce0 77 2c 20 65 78 63 65 70 74 20 65 78 65 63 75 74 69 6e 67 20 69 74 20 6f 6e 0a 20 20 20 20 20 61 w,.except.executing.it.on......a
61d00 20 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 72 69 76 61 74 65 .computer.or.modifying.a.private
61d20 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 65 73 0a 20 20 20 .copy...Propagation.includes....
61d40 20 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 28 77 69 74 68 20 6f 72 ..copying,.distribution.(with.or
61d60 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 0a 20 .without.modification),.making..
61d80 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 61 6e 64 ....available.to.the.public,.and
61da0 20 69 6e 20 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 .in.some.countries.other.activit
61dc0 69 65 73 20 61 73 0a 20 20 20 20 20 77 65 6c 6c 2e 0a 0a 20 20 20 20 20 54 6f 20 e2 80 9c 63 6f ies.as......well........To....co
61de0 6e 76 65 79 e2 80 9d 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 61 6e 79 20 6b 69 6e 64 20 6f 66 nvey....a.work.means.any.kind.of
61e00 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 68 65 72 0a .propagation.that.enables.other.
61e20 20 20 20 20 20 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 .....parties.to.make.or.receive.
61e40 63 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 copies...Mere.interaction.with.a
61e60 20 75 73 65 72 0a 20 20 20 20 20 74 68 72 6f 75 67 68 20 61 20 63 6f 6d 70 75 74 65 72 20 6e 65 .user......through.a.computer.ne
61e80 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 20 61 20 63 6f 70 twork,.with.no.transfer.of.a.cop
61ea0 79 2c 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 20 20 20 y,.is.not......conveying........
61ec0 41 6e 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 An.interactive.user.interface.di
61ee0 73 70 6c 61 79 73 20 e2 80 9c 41 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 20 4e 6f 74 69 splays....Appropriate.Legal.Noti
61f00 63 65 73 e2 80 9d 0a 20 20 20 20 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 69 ces.........to.the.extent.that.i
61f20 74 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6e 64 20 70 72 6f 6d t.includes.a.convenient.and.prom
61f40 69 6e 65 6e 74 6c 79 20 76 69 73 69 62 6c 65 0a 20 20 20 20 20 66 65 61 74 75 72 65 20 74 68 61 inently.visible......feature.tha
61f60 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 65 20 63 6f t.(1).displays.an.appropriate.co
61f80 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 2c 20 61 6e 64 20 28 32 29 0a 20 20 20 20 20 74 65 6c pyright.notice,.and.(2)......tel
61fa0 6c 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 ls.the.user.that.there.is.no.war
61fc0 72 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 0a 20 20 ranty.for.the.work.(except.to...
61fe0 20 20 20 74 68 65 20 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 ...the.extent.that.warranties.ar
62000 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 73 20 6d 61 79 20 e.provided),.that.licensees.may.
62020 63 6f 6e 76 65 79 0a 20 20 20 20 20 74 68 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 69 73 20 convey......the.work.under.this.
62040 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 20 License,.and.how.to.view.a.copy.
62060 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 74 68 65 20 69 6e of.this......License...If.the.in
62080 74 65 72 66 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 terface.presents.a.list.of.user.
620a0 63 6f 6d 6d 61 6e 64 73 20 6f 72 0a 20 20 20 20 20 6f 70 74 69 6f 6e 73 2c 20 73 75 63 68 20 61 commands.or......options,.such.a
620c0 73 20 61 20 6d 65 6e 75 2c 20 61 20 70 72 6f 6d 69 6e 65 6e 74 20 69 74 65 6d 20 69 6e 20 74 68 s.a.menu,.a.prominent.item.in.th
620e0 65 20 6c 69 73 74 20 6d 65 65 74 73 20 74 68 69 73 0a 20 20 20 20 20 63 72 69 74 65 72 69 6f 6e e.list.meets.this......criterion
62100 2e 0a 0a 20 20 31 2e 20 53 6f 75 72 63 65 20 43 6f 64 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 .....1..Source.Code........The..
62120 80 9c 73 6f 75 72 63 65 20 63 6f 64 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e ..source.code....for.a.work.mean
62140 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
62160 0a 20 20 20 20 20 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 ......for.making.modifications.t
62180 6f 20 69 74 2e 20 20 e2 80 9c 4f 62 6a 65 63 74 20 63 6f 64 65 e2 80 9d 20 6d 65 61 6e 73 20 61 o.it......Object.code....means.a
621a0 6e 79 20 6e 6f 6e 2d 73 6f 75 72 63 65 0a 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 61 20 77 6f 72 ny.non-source......form.of.a.wor
621c0 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 53 74 61 6e 64 61 72 64 20 49 6e 74 65 72 66 61 63 65 k........A....Standard.Interface
621e0 e2 80 9d 20 6d 65 61 6e 73 20 61 6e 20 69 6e 74 65 72 66 61 63 65 20 74 68 61 74 20 65 69 74 68 ....means.an.interface.that.eith
62200 65 72 20 69 73 20 61 6e 0a 20 20 20 20 20 6f 66 66 69 63 69 61 6c 20 73 74 61 6e 64 61 72 64 20 er.is.an......official.standard.
62220 64 65 66 69 6e 65 64 20 62 79 20 61 20 72 65 63 6f 67 6e 69 7a 65 64 20 73 74 61 6e 64 61 72 64 defined.by.a.recognized.standard
62240 73 20 62 6f 64 79 2c 20 6f 72 2c 20 69 6e 0a 20 20 20 20 20 74 68 65 20 63 61 73 65 20 6f 66 20 s.body,.or,.in......the.case.of.
62260 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 72 74 69 interfaces.specified.for.a.parti
62280 63 75 6c 61 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2c cular.programming......language,
622a0 20 6f 6e 65 20 74 68 61 74 20 69 73 20 77 69 64 65 6c 79 20 75 73 65 64 20 61 6d 6f 6e 67 20 64 .one.that.is.widely.used.among.d
622c0 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 0a 20 20 20 20 20 6c evelopers.working.in.that......l
622e0 61 6e 67 75 61 67 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 53 79 73 74 65 6d 20 4c 69 62 anguage........The....System.Lib
62300 72 61 72 69 65 73 e2 80 9d 20 6f 66 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 6b 20 raries....of.an.executable.work.
62320 69 6e 63 6c 75 64 65 20 61 6e 79 74 68 69 6e 67 2c 0a 20 20 20 20 20 6f 74 68 65 72 20 74 68 61 include.anything,......other.tha
62340 6e 20 74 68 65 20 77 6f 72 6b 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 74 68 61 74 20 28 61 29 20 n.the.work.as.a.whole,.that.(a).
62360 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 66 is.included.in.the.normal......f
62380 6f 72 6d 20 6f 66 20 70 61 63 6b 61 67 69 6e 67 20 61 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 orm.of.packaging.a.Major.Compone
623a0 6e 74 2c 20 62 75 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 74 68 61 nt,.but.which.is.not.part.of.tha
623c0 74 0a 20 20 20 20 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 2c 20 61 6e 64 20 28 62 29 20 t......Major.Component,.and.(b).
623e0 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 74 68 65 serves.only.to.enable.use.of.the
62400 20 77 6f 72 6b 20 77 69 74 68 0a 20 20 20 20 20 74 68 61 74 20 4d 61 6a 6f 72 20 43 6f 6d 70 6f .work.with......that.Major.Compo
62420 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 74 61 6e 64 61 72 64 nent,.or.to.implement.a.Standard
62440 20 49 6e 74 65 72 66 61 63 65 20 66 6f 72 0a 20 20 20 20 20 77 68 69 63 68 20 61 6e 20 69 6d 70 .Interface.for......which.an.imp
62460 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 65 20 lementation.is.available.to.the.
62480 70 75 62 6c 69 63 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 20 20 20 20 20 66 6f 72 6d 2e public.in.source.code......form.
624a0 20 20 41 20 e2 80 9c 4d 61 6a 6f 72 20 43 6f 6d 70 6f 6e 65 6e 74 e2 80 9d 2c 20 69 6e 20 74 68 ..A....Major.Component...,.in.th
624c0 69 73 20 63 6f 6e 74 65 78 74 2c 20 6d 65 61 6e 73 20 61 20 6d 61 6a 6f 72 0a 20 20 20 20 20 65 is.context,.means.a.major......e
624e0 73 73 65 6e 74 69 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 20 28 6b 65 72 6e 65 6c 2c 20 77 69 6e 64 ssential.component.(kernel,.wind
62500 6f 77 20 73 79 73 74 65 6d 2c 20 61 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 0a 20 20 20 ow.system,.and.so.on).of.the....
62520 20 20 73 70 65 63 69 66 69 63 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 28 69 66 20 ..specific.operating.system.(if.
62540 61 6e 79 29 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 77 6f 72 any).on.which.the.executable.wor
62560 6b 0a 20 20 20 20 20 72 75 6e 73 2c 20 6f 72 20 61 20 63 6f 6d 70 69 6c 65 72 20 75 73 65 64 20 k......runs,.or.a.compiler.used.
62580 74 6f 20 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 6a 65 63 to.produce.the.work,.or.an.objec
625a0 74 20 63 6f 64 65 0a 20 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 72 20 75 73 65 64 20 74 6f 20 t.code......interpreter.used.to.
625c0 72 75 6e 20 69 74 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 9c 43 6f 72 72 65 73 70 6f 6e 64 69 run.it........The....Correspondi
625e0 6e 67 20 53 6f 75 72 63 65 e2 80 9d 20 66 6f 72 20 61 20 77 6f 72 6b 20 69 6e 20 6f 62 6a 65 63 ng.Source....for.a.work.in.objec
62600 74 20 63 6f 64 65 20 66 6f 72 6d 20 6d 65 61 6e 73 20 61 6c 6c 0a 20 20 20 20 20 74 68 65 20 73 t.code.form.means.all......the.s
62620 6f 75 72 63 65 20 63 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 ource.code.needed.to.generate,.i
62640 6e 73 74 61 6c 6c 2c 20 61 6e 64 20 28 66 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 0a 20 nstall,.and.(for.an.executable..
62660 20 20 20 20 77 6f 72 6b 29 20 72 75 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e ....work).run.the.object.code.an
62680 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 77 6f 72 6b 2c 20 69 6e 63 6c 75 64 69 6e 67 20 d.to.modify.the.work,.including.
626a0 73 63 72 69 70 74 73 0a 20 20 20 20 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 6f 73 65 20 61 63 scripts......to.control.those.ac
626c0 74 69 76 69 74 69 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 tivities...However,.it.does.not.
626e0 69 6e 63 6c 75 64 65 20 74 68 65 0a 20 20 20 20 20 77 6f 72 6b e2 80 99 73 20 53 79 73 74 65 6d include.the......work...s.System
62700 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 74 .Libraries,.or.general-purpose.t
62720 6f 6f 6c 73 20 6f 72 20 67 65 6e 65 72 61 6c 6c 79 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 ools.or.generally......available
62740 20 66 72 65 65 20 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 .free.programs.which.are.used.un
62760 6d 6f 64 69 66 69 65 64 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 0a 20 20 20 20 20 74 68 6f 73 modified.in.performing......thos
62780 65 20 61 63 74 69 76 69 74 69 65 73 20 62 75 74 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 70 e.activities.but.which.are.not.p
627a0 61 72 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 0a 20 art.of.the.work...For.example,..
627c0 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 69 6e 63 6c 75 64 65 ....Corresponding.Source.include
627e0 73 20 69 6e 74 65 72 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 s.interface.definition.files.ass
62800 6f 63 69 61 74 65 64 0a 20 20 20 20 20 77 69 74 68 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 ociated......with.source.files.f
62820 6f 72 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 or.the.work,.and.the.source.code
62840 20 66 6f 72 20 73 68 61 72 65 64 0a 20 20 20 20 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 .for.shared......libraries.and.d
62860 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 73 75 62 70 72 6f 67 72 61 6d 73 20 74 68 ynamically.linked.subprograms.th
62880 61 74 20 74 68 65 20 77 6f 72 6b 20 69 73 0a 20 20 20 20 20 73 70 65 63 69 66 69 63 61 6c 6c 79 at.the.work.is......specifically
628a0 20 64 65 73 69 67 6e 65 64 20 74 6f 20 72 65 71 75 69 72 65 2c 20 73 75 63 68 20 61 73 20 62 79 .designed.to.require,.such.as.by
628c0 20 69 6e 74 69 6d 61 74 65 20 64 61 74 61 0a 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f .intimate.data......communicatio
628e0 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 68 6f 73 65 20 n.or.control.flow.between.those.
62900 73 75 62 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6f 74 68 65 72 0a 20 20 20 20 20 70 61 72 74 73 subprograms.and.other......parts
62920 20 6f 66 20 74 68 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f .of.the.work........The.Correspo
62940 6e 64 69 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 nding.Source.need.not.include.an
62960 79 74 68 69 6e 67 20 74 68 61 74 20 75 73 65 72 73 20 63 61 6e 0a 20 20 20 20 20 72 65 67 65 6e ything.that.users.can......regen
62980 65 72 61 74 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 6f 74 68 65 72 20 70 erate.automatically.from.other.p
629a0 61 72 74 73 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 53 arts.of.the.Corresponding......S
629c0 6f 75 72 63 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 ource........The.Corresponding.S
629e0 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 63 6f 64 65 20 ource.for.a.work.in.source.code.
62a00 66 6f 72 6d 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 73 61 6d 65 20 77 6f 72 6b 2e 0a 0a 20 20 form.is.that......same.work.....
62a20 32 2e 20 42 61 73 69 63 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 41 6c 6c 20 2..Basic.Permissions........All.
62a40 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 65 6e 73 rights.granted.under.this.Licens
62a60 65 20 61 72 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 20 20 e.are.granted.for.the.term.of...
62a80 20 20 20 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 61 6e 64 ...copyright.on.the.Program,.and
62aa0 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 20 73 74 .are.irrevocable.provided.the.st
62ac0 61 74 65 64 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 2e 20 20 54 ated......conditions.are.met...T
62ae0 68 69 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 his.License.explicitly.affirms.y
62b00 6f 75 72 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f our.unlimited......permission.to
62b20 20 72 75 6e 20 74 68 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 .run.the.unmodified.Program...Th
62b40 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 72 75 6e 6e 69 6e 67 0a 20 20 20 20 20 61 20 63 6f 76 e.output.from.running......a.cov
62b60 65 72 65 64 20 77 6f 72 6b 20 69 73 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 ered.work.is.covered.by.this.Lic
62b80 65 6e 73 65 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 2c 20 67 69 76 65 6e 0a 20 ense.only.if.the.output,.given..
62ba0 20 20 20 20 69 74 73 20 63 6f 6e 74 65 6e 74 2c 20 63 6f 6e 73 74 69 74 75 74 65 73 20 61 20 63 ....its.content,.constitutes.a.c
62bc0 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 6b 6e 6f overed.work...This.License.ackno
62be0 77 6c 65 64 67 65 73 0a 20 20 20 20 20 79 6f 75 72 20 72 69 67 68 74 73 20 6f 66 20 66 61 69 72 wledges......your.rights.of.fair
62c00 20 75 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 .use.or.other.equivalent,.as.pro
62c20 76 69 64 65 64 20 62 79 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 2e 0a 0a 20 20 vided.by......copyright.law.....
62c40 20 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 67 61 ...You.may.make,.run.and.propaga
62c60 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 6f 74 te.covered.works.that.you.do.not
62c80 0a 20 20 20 20 20 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 ......convey,.without.conditions
62ca0 20 73 6f 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 .so.long.as.your.license.otherwi
62cc0 73 65 0a 20 20 20 20 20 72 65 6d 61 69 6e 73 20 69 6e 20 66 6f 72 63 65 2e 20 20 59 6f 75 20 6d se......remains.in.force...You.m
62ce0 61 79 20 63 6f 6e 76 65 79 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 73 20 74 6f 20 6f 74 68 65 72 ay.convey.covered.works.to.other
62d00 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 73 6f 6c 65 20 70 75 72 70 6f 73 65 20 6f 66 20 68 s.for.the......sole.purpose.of.h
62d20 61 76 69 6e 67 20 74 68 65 6d 20 6d 61 6b 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 65 78 aving.them.make.modifications.ex
62d40 63 6c 75 73 69 76 65 6c 79 20 66 6f 72 20 79 6f 75 2c 0a 20 20 20 20 20 6f 72 20 70 72 6f 76 69 clusively.for.you,......or.provi
62d60 64 65 20 79 6f 75 20 77 69 74 68 20 66 61 63 69 6c 69 74 69 65 73 20 66 6f 72 20 72 75 6e 6e 69 de.you.with.facilities.for.runni
62d80 6e 67 20 74 68 6f 73 65 20 77 6f 72 6b 73 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 74 68 ng.those.works,.provided......th
62da0 61 74 20 79 6f 75 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 at.you.comply.with.the.terms.of.
62dc0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 20 63 6f 6e 76 65 79 69 6e 67 20 61 6c 6c 0a 20 20 this.License.in.conveying.all...
62de0 20 20 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 20 6e 6f 74 ...material.for.which.you.do.not
62e00 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 68 75 73 20 .control.copyright...Those.thus.
62e20 6d 61 6b 69 6e 67 0a 20 20 20 20 20 6f 72 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f 76 65 72 making......or.running.the.cover
62e40 65 64 20 77 6f 72 6b 73 20 66 6f 72 20 79 6f 75 20 6d 75 73 74 20 64 6f 20 73 6f 20 65 78 63 6c ed.works.for.you.must.do.so.excl
62e60 75 73 69 76 65 6c 79 20 6f 6e 20 79 6f 75 72 0a 20 20 20 20 20 62 65 68 61 6c 66 2c 20 75 6e 64 usively.on.your......behalf,.und
62e80 65 72 20 79 6f 75 72 20 64 69 72 65 63 74 69 6f 6e 20 61 6e 64 20 63 6f 6e 74 72 6f 6c 2c 20 6f er.your.direction.and.control,.o
62ea0 6e 20 74 65 72 6d 73 20 74 68 61 74 20 70 72 6f 68 69 62 69 74 0a 20 20 20 20 20 74 68 65 6d 20 n.terms.that.prohibit......them.
62ec0 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 79 6f 75 72 20 63 from.making.any.copies.of.your.c
62ee0 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 65 0a 20 20 20 20 opyrighted.material.outside.....
62f00 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 20 .their.relationship.with.you....
62f20 20 20 20 20 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 ....Conveying.under.any.other.ci
62f40 72 63 75 6d 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 rcumstances.is.permitted.solely.
62f60 75 6e 64 65 72 0a 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 74 65 64 under......the.conditions.stated
62f80 20 62 65 6c 6f 77 2e 20 20 53 75 62 6c 69 63 65 6e 73 69 6e 67 20 69 73 20 6e 6f 74 20 61 6c 6c .below...Sublicensing.is.not.all
62fa0 6f 77 65 64 3b 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 31 30 20 6d 61 6b 65 73 20 69 74 20 75 owed;.section......10.makes.it.u
62fc0 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 55 73 65 nnecessary.....3..Protecting.Use
62fe0 72 73 e2 80 99 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 72 rs....Legal.Rights.From.Anti-Cir
63000 63 75 6d 76 65 6e 74 69 6f 6e 20 4c 61 77 2e 0a 0a 20 20 20 20 20 4e 6f 20 63 6f 76 65 72 65 64 cumvention.Law........No.covered
63020 20 77 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 .work.shall.be.deemed.part.of.an
63040 20 65 66 66 65 63 74 69 76 65 20 74 65 63 68 6e 6f 6c 6f 67 69 63 61 6c 0a 20 20 20 20 20 6d 65 .effective.technological......me
63060 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 65 20 6c 61 77 20 66 asure.under.any.applicable.law.f
63080 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 65 72 0a 20 20 20 20 ulfilling.obligations.under.....
630a0 20 61 72 74 69 63 6c 65 20 31 31 20 6f 66 20 74 68 65 20 57 49 50 4f 20 63 6f 70 79 72 69 67 68 .article.11.of.the.WIPO.copyrigh
630c0 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 72 0a t.treaty.adopted.on.20.December.
630e0 20 20 20 20 20 31 39 39 36 2c 20 6f 72 20 73 69 6d 69 6c 61 72 20 6c 61 77 73 20 70 72 6f 68 69 .....1996,.or.similar.laws.prohi
63100 62 69 74 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 biting.or.restricting.circumvent
63120 69 6f 6e 20 6f 66 0a 20 20 20 20 20 73 75 63 68 20 6d 65 61 73 75 72 65 73 2e 0a 0a 20 20 20 20 ion.of......such.measures.......
63140 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 64 20 77 6f 72 6b 2c .When.you.convey.a.covered.work,
63160 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 72 20 74 6f 20 66 6f .you.waive.any.legal.power.to.fo
63180 72 62 69 64 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 6f 66 20 74 65 63 68 6e rbid......circumvention.of.techn
631a0 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 74 20 ological.measures.to.the.extent.
631c0 73 75 63 68 0a 20 20 20 20 20 63 69 72 63 75 6d 76 65 6e 74 69 6f 6e 20 69 73 20 65 66 66 65 63 such......circumvention.is.effec
631e0 74 65 64 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 ted.by.exercising.rights.under.t
63200 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f his.License......with.respect.to
63220 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 69 73 63 6c .the.covered.work,.and.you.discl
63240 61 69 6d 20 61 6e 79 20 69 6e 74 65 6e 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 6c 69 6d 69 74 20 aim.any.intention.to......limit.
63260 6f 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 operation.or.modification.of.the
63280 20 77 6f 72 6b 20 61 73 20 61 20 6d 65 61 6e 73 20 6f 66 0a 20 20 20 20 20 65 6e 66 6f 72 63 69 .work.as.a.means.of......enforci
632a0 6e 67 2c 20 61 67 61 69 6e 73 74 20 74 68 65 20 77 6f 72 6b e2 80 99 73 20 75 73 65 72 73 2c 20 ng,.against.the.work...s.users,.
632c0 79 6f 75 72 20 6f 72 20 74 68 69 72 64 20 70 61 72 74 69 65 73 e2 80 99 20 6c 65 67 61 6c 0a 20 your.or.third.parties....legal..
632e0 20 20 20 20 72 69 67 68 74 73 20 74 6f 20 66 6f 72 62 69 64 20 63 69 72 63 75 6d 76 65 6e 74 69 ....rights.to.forbid.circumventi
63300 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 2e 0a 0a 20 on.of.technological.measures....
63320 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 65 73 2e 0a 0a .4..Conveying.Verbatim.Copies...
63340 20 20 20 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 6f 70 .....You.may.convey.verbatim.cop
63360 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d e2 80 99 73 20 73 6f 75 72 63 65 20 63 6f ies.of.the.Program...s.source.co
63380 64 65 20 61 73 20 79 6f 75 0a 20 20 20 20 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e de.as.you......receive.it,.in.an
633a0 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 75 20 63 6f 6e 73 y.medium,.provided.that.you.cons
633c0 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 0a 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 picuously.and......appropriately
633e0 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 72 .publish.on.each.copy.an.appropr
63400 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 3b 0a 20 20 20 20 20 6b 65 65 70 iate.copyright.notice;......keep
63420 20 69 6e 74 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 .intact.all.notices.stating.that
63440 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 0a 20 20 20 20 20 6e 6f 6e 2d 70 .this.License.and.any......non-p
63460 65 72 6d 69 73 73 69 76 65 20 74 65 72 6d 73 20 61 64 64 65 64 20 69 6e 20 61 63 63 6f 72 64 20 ermissive.terms.added.in.accord.
63480 77 69 74 68 20 73 65 63 74 69 6f 6e 20 37 20 61 70 70 6c 79 20 74 6f 20 74 68 65 0a 20 20 20 20 with.section.7.apply.to.the.....
634a0 20 63 6f 64 65 3b 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 6f .code;.keep.intact.all.notices.o
634c0 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 61 6e 74 79 3b 20 61 f.the.absence.of.any.warranty;.a
634e0 6e 64 0a 20 20 20 20 20 67 69 76 65 20 61 6c 6c 20 72 65 63 69 70 69 65 6e 74 73 20 61 20 63 6f nd......give.all.recipients.a.co
63500 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 74 68 py.of.this.License.along.with.th
63520 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 63 68 61 72 67 65 20 e.Program........You.may.charge.
63540 61 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 any.price.or.no.price.for.each.c
63560 6f 70 79 20 74 68 61 74 20 79 6f 75 20 63 6f 6e 76 65 79 2c 0a 20 20 20 20 20 61 6e 64 20 79 6f opy.that.you.convey,......and.yo
63580 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 74 79 20 u.may.offer.support.or.warranty.
635a0 70 72 6f 74 65 63 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 protection.for.a.fee.....5..Conv
635c0 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 6e 73 2e 0a eying.Modified.Source.Versions..
635e0 0a 20 20 20 20 20 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 ......You.may.convey.a.work.base
63600 64 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 d.on.the.Program,.or.the.modific
63620 61 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 70 72 6f 64 75 63 65 20 69 74 20 66 72 6f 6d 20 74 ations.to......produce.it.from.t
63640 68 65 20 50 72 6f 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 he.Program,.in.the.form.of.sourc
63660 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 74 65 72 6d 73 20 6f 66 20 73 e.code.under.the......terms.of.s
63680 65 63 74 69 6f 6e 20 34 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f ection.4,.provided.that.you.also
636a0 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f .meet.all.of.these......conditio
636c0 6e 73 3a 0a 0a 20 20 20 20 20 20 20 61 2e 20 54 68 65 20 77 6f 72 6b 20 6d 75 73 74 20 63 61 72 ns:.........a..The.work.must.car
636e0 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
63700 74 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 69 74 2c 20 61 6e 64 t.you...........modified.it,.and
63720 20 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 20 20 .giving.a.relevant.date.........
63740 20 62 2e 20 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 .b..The.work.must.carry.prominen
63760 74 20 6e 6f 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 t.notices.stating.that.it.is....
63780 20 20 20 20 20 20 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 .......released.under.this.Licen
637a0 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 65 se.and.any.conditions.added.unde
637c0 72 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 37 2e 20 20 54 68 69 73 20 72 65 71 r...........section.7...This.req
637e0 75 69 72 65 6d 65 6e 74 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e uirement.modifies.the.requiremen
63800 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 34 20 74 6f 20 e2 80 9c 6b t.in...........section.4.to....k
63820 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 6e 6f 74 69 63 65 73 e2 80 9d 2e 0a 0a 20 20 20 20 eep.intact.all.notices..........
63840 20 20 20 63 2e 20 59 6f 75 20 6d 75 73 74 20 6c 69 63 65 6e 73 65 20 74 68 65 20 65 6e 74 69 72 ...c..You.must.license.the.entir
63860 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 73 0a 20 e.work,.as.a.whole,.under.this..
63880 20 20 20 20 20 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 .........License.to.anyone.who.c
638a0 6f 6d 65 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 omes.into.possession.of.a.copy..
638c0 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 74 68 65 .This...........License.will.the
638e0 72 65 66 6f 72 65 20 61 70 70 6c 79 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 20 61 70 70 refore.apply,.along.with.any.app
63900 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 37 20 61 64 64 69 licable...........section.7.addi
63920 74 69 6f 6e 61 6c 20 74 65 72 6d 73 2c 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 tional.terms,.to.the.whole.of.th
63940 65 20 77 6f 72 6b 2c 20 61 6e 64 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 69 74 73 20 70 61 e.work,.and.all...........its.pa
63960 72 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 20 61 72 65 20 rts,.regardless.of.how.they.are.
63980 70 61 63 6b 61 67 65 64 2e 20 20 54 68 69 73 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 20 20 20 packaged...This.License.........
639a0 20 20 67 69 76 65 73 20 6e 6f 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 63 65 6e 73 65 ..gives.no.permission.to.license
639c0 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 20 62 75 74 0a .the.work.in.any.other.way,.but.
639e0 20 20 20 20 20 20 20 20 20 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 61 6c 69 64 61 74 65 ..........it.does.not.invalidate
63a00 20 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 .such.permission.if.you.have.sep
63a20 61 72 61 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 64 20 69 74 2e 0a 0a arately...........received.it...
63a40 20 20 20 20 20 20 20 64 2e 20 49 66 20 74 68 65 20 77 6f 72 6b 20 68 61 73 20 69 6e 74 65 72 61 .......d..If.the.work.has.intera
63a60 63 74 69 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 ctive.user.interfaces,.each.must
63a80 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 41 70 70 72 6f 70 72 69 61 74 65 20 4c .display...........Appropriate.L
63aa0 65 67 61 6c 20 4e 6f 74 69 63 65 73 3b 20 68 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 50 72 egal.Notices;.however,.if.the.Pr
63ac0 6f 67 72 61 6d 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 ogram.has...........interactive.
63ae0 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 70 6c 61 79 20 41 interfaces.that.do.not.display.A
63b00 70 70 72 6f 70 72 69 61 74 65 20 4c 65 67 61 6c 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 69 63 ppropriate.Legal...........Notic
63b20 65 73 2c 20 79 6f 75 72 20 77 6f 72 6b 20 6e 65 65 64 20 6e 6f 74 20 6d 61 6b 65 20 74 68 65 6d es,.your.work.need.not.make.them
63b40 20 64 6f 20 73 6f 2e 0a 0a 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 61 .do.so........A.compilation.of.a
63b60 20 63 6f 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 .covered.work.with.other.separat
63b80 65 20 61 6e 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 0a 20 20 20 20 20 77 6f 72 6b 73 2c 20 77 68 e.and.independent......works,.wh
63ba0 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 65 78 74 65 ich.are.not.by.their.nature.exte
63bc0 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 0a 20 20 20 20 20 77 6f 72 6b 2c nsions.of.the.covered......work,
63be0 20 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 .and.which.are.not.combined.with
63c00 20 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 0a 20 20 20 .it.such.as.to.form.a.larger....
63c20 20 20 70 72 6f 67 72 61 6d 2c 20 69 6e 20 6f 72 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 20 ..program,.in.or.on.a.volume.of.
63c40 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d a.storage.or.distribution.medium
63c60 2c 20 69 73 0a 20 20 20 20 20 63 61 6c 6c 65 64 20 61 6e 20 e2 80 9c 61 67 67 72 65 67 61 74 65 ,.is......called.an....aggregate
63c80 e2 80 9d 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 74 73 20 72 ....if.the.compilation.and.its.r
63ca0 65 73 75 6c 74 69 6e 67 0a 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 61 72 65 20 6e 6f 74 20 esulting......copyright.are.not.
63cc0 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
63ce0 6c 20 72 69 67 68 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 69 6c 61 74 69 6f 6e l.rights.of.the......compilation
63d00 e2 80 99 73 20 75 73 65 72 73 20 62 65 79 6f 6e 64 20 77 68 61 74 20 74 68 65 20 69 6e 64 69 76 ...s.users.beyond.what.the.indiv
63d20 69 64 75 61 6c 20 77 6f 72 6b 73 20 70 65 72 6d 69 74 2e 0a 20 20 20 20 20 49 6e 63 6c 75 73 69 idual.works.permit.......Inclusi
63d40 6f 6e 20 6f 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 61 6e 20 61 67 67 72 65 on.of.a.covered.work.in.an.aggre
63d60 67 61 74 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 4c 69 gate.does.not.cause.this......Li
63d80 63 65 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 20 70 61 72 74 cense.to.apply.to.the.other.part
63da0 73 20 6f 66 20 74 68 65 20 61 67 67 72 65 67 61 74 65 2e 0a 0a 20 20 36 2e 20 43 6f 6e 76 65 79 s.of.the.aggregate.....6..Convey
63dc0 69 6e 67 20 4e 6f 6e 2d 53 6f 75 72 63 65 20 46 6f 72 6d 73 2e 0a 0a 20 20 20 20 20 59 6f 75 20 ing.Non-Source.Forms........You.
63de0 6d 61 79 20 63 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 may.convey.a.covered.work.in.obj
63e00 65 63 74 20 63 6f 64 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 0a 20 20 ect.code.form.under.the.terms...
63e20 20 20 20 6f 66 20 73 65 63 74 69 6f 6e 73 20 34 20 61 6e 64 20 35 2c 20 70 72 6f 76 69 64 65 64 ...of.sections.4.and.5,.provided
63e40 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 63 6f 6e 76 65 79 20 74 68 65 0a 20 20 20 20 20 6d .that.you.also.convey.the......m
63e60 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 20 53 6f achine-readable.Corresponding.So
63e80 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 0a 20 20 20 urce.under.the.terms.of.this....
63ea0 20 20 4c 69 63 65 6e 73 65 2c 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 77 61 79 73 3a ..License,.in.one.of.these.ways:
63ec0 0a 0a 20 20 20 20 20 20 20 61 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f .........a..Convey.the.object.co
63ee0 64 65 20 69 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 de.in,.or.embodied.in,.a.physica
63f00 6c 20 70 72 6f 64 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 l.product...........(including.a
63f20 20 70 68 79 73 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 29 2c 20 .physical.distribution.medium),.
63f40 61 63 63 6f 6d 70 61 6e 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 accompanied.by.the...........Cor
63f60 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 72 responding.Source.fixed.on.a.dur
63f80 61 62 6c 65 20 70 68 79 73 69 63 61 6c 20 6d 65 64 69 75 6d 0a 20 20 20 20 20 20 20 20 20 20 63 able.physical.medium...........c
63fa0 75 73 74 6f 6d 61 72 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 ustomarily.used.for.software.int
63fc0 65 72 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 20 20 20 62 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 erchange..........b..Convey.the.
63fe0 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 6e 2c 20 object.code.in,.or.embodied.in,.
64000 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 28 69 6e a.physical.product...........(in
64020 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.
64040 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 20 20 medium),.accompanied.by.a.......
64060 20 20 20 20 77 72 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 ....written.offer,.valid.for.at.
64080 6c 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 least.three.years.and.valid.for.
640a0 61 73 0a 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 79 6f 75 20 6f 66 66 65 72 20 73 as...........long.as.you.offer.s
640c0 70 61 72 65 20 70 61 72 74 73 20 6f 72 20 63 75 73 74 6f 6d 65 72 20 73 75 70 70 6f 72 74 20 66 pare.parts.or.customer.support.f
640e0 6f 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 74 20 6d 6f 64 65 6c 2c or.that...........product.model,
64100 20 74 6f 20 67 69 76 65 20 61 6e 79 6f 6e 65 20 77 68 6f 20 70 6f 73 73 65 73 73 65 73 20 74 68 .to.give.anyone.who.possesses.th
64120 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 28 e.object.code...........either.(
64140 31 29 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 1).a.copy.of.the.Corresponding.S
64160 6f 75 72 63 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 73 6f 66 74 ource.for.all.the...........soft
64180 77 61 72 65 20 69 6e 20 74 68 65 20 70 72 6f 64 75 63 74 20 74 68 61 74 20 69 73 20 63 6f 76 65 ware.in.the.product.that.is.cove
641a0 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 0a 20 20 20 20 20 20 red.by.this.License,.on.a.......
641c0 20 20 20 20 64 75 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 ....durable.physical.medium.cust
641e0 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 0a 20 20 20 20 20 20 omarily.used.for.software.......
64200 20 20 20 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 6e 6f 20 ....interchange,.for.a.price.no.
64220 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 20 63 6f 73 74 20 6f more.than.your.reasonable.cost.o
64240 66 0a 20 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e f...........physically.performin
64260 67 20 74 68 69 73 20 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 g.this.conveying.of.source,.or.(
64280 32 29 20 61 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 2).access...........to.copy.the.
642a0 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 66 72 6f 6d 20 61 20 6e 65 74 77 Corresponding.Source.from.a.netw
642c0 6f 72 6b 20 73 65 72 76 65 72 20 61 74 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 20 63 68 61 72 67 ork.server.at.no...........charg
642e0 65 2e 0a 0a 20 20 20 20 20 20 20 63 2e 20 43 6f 6e 76 65 79 20 69 6e 64 69 76 69 64 75 61 6c 20 e..........c..Convey.individual.
64300 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 61 copies.of.the.object.code.with.a
64320 20 63 6f 70 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f .copy.of.the...........written.o
64340 66 66 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e ffer.to.provide.the.Correspondin
64360 67 20 53 6f 75 72 63 65 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 61 6c 74 65 72 6e g.Source...This...........altern
64380 61 74 69 76 65 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 6c 79 20 6f 63 63 61 73 69 6f 6e 61 6c ative.is.allowed.only.occasional
643a0 6c 79 20 61 6e 64 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 ly.and.noncommercially,.........
643c0 20 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6f ..and.only.if.you.received.the.o
643e0 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 2c 0a 20 bject.code.with.such.an.offer,..
64400 20 20 20 20 20 20 20 20 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 73 75 62 73 65 63 74 69 .........in.accord.with.subsecti
64420 6f 6e 20 36 62 2e 0a 0a 20 20 20 20 20 20 20 64 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 6f 62 6a on.6b..........d..Convey.the.obj
64440 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 6f 6d ect.code.by.offering.access.from
64460 20 61 20 64 65 73 69 67 6e 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 20 28 67 .a.designated...........place.(g
64480 72 61 74 69 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 ratis.or.for.a.charge),.and.offe
644a0 72 20 65 71 75 69 76 61 6c 65 6e 74 20 61 63 63 65 73 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 r.equivalent.access.to..........
644c0 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 69 6e 20 74 68 65 .the.Corresponding.Source.in.the
644e0 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 0a 20 20 20 20 20 .same.way.through.the.same......
64500 20 20 20 20 20 70 6c 61 63 65 20 61 74 20 6e 6f 20 66 75 72 74 68 65 72 20 63 68 61 72 67 65 2e .....place.at.no.further.charge.
64520 20 20 59 6f 75 20 6e 65 65 64 20 6e 6f 74 20 72 65 71 75 69 72 65 20 72 65 63 69 70 69 65 6e 74 ..You.need.not.require.recipient
64540 73 0a 20 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 79 20 74 68 65 20 43 6f 72 72 65 73 70 6f s...........to.copy.the.Correspo
64560 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 nding.Source.along.with.the.obje
64580 63 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 70 6c 61 63 65 20 ct.code............If.the.place.
645a0 74 6f 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 61 20 6e 65 74 to.copy.the.object.code.is.a.net
645c0 77 6f 72 6b 20 73 65 72 76 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 work.server,.the...........Corre
645e0 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 6d 61 79 20 62 65 20 6f 6e 20 61 20 64 69 66 66 sponding.Source.may.be.on.a.diff
64600 65 72 65 6e 74 20 73 65 72 76 65 72 20 28 6f 70 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 erent.server.(operated.by.......
64620 20 20 20 20 79 6f 75 20 6f 72 20 61 20 74 68 69 72 64 20 70 61 72 74 79 29 20 74 68 61 74 20 73 ....you.or.a.third.party).that.s
64640 75 70 70 6f 72 74 73 20 65 71 75 69 76 61 6c 65 6e 74 20 63 6f 70 79 69 6e 67 0a 20 20 20 20 20 upports.equivalent.copying......
64660 20 20 20 20 20 66 61 63 69 6c 69 74 69 65 73 2c 20 70 72 6f 76 69 64 65 64 20 79 6f 75 20 6d 61 .....facilities,.provided.you.ma
64680 69 6e 74 61 69 6e 20 63 6c 65 61 72 20 64 69 72 65 63 74 69 6f 6e 73 20 6e 65 78 74 20 74 6f 20 intain.clear.directions.next.to.
646a0 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 73 61 79 69 6e 67 the...........object.code.saying
646c0 20 77 68 65 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 .where.to.find.the.Corresponding
646e0 20 53 6f 75 72 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 52 65 67 61 72 64 6c 65 73 73 20 6f 66 .Source............Regardless.of
64700 20 77 68 61 74 20 73 65 72 76 65 72 20 68 6f 73 74 73 20 74 68 65 20 43 6f 72 72 65 73 70 6f 6e .what.server.hosts.the.Correspon
64720 64 69 6e 67 20 53 6f 75 72 63 65 2c 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 20 72 65 6d 61 69 ding.Source,.you...........remai
64740 6e 20 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 n.obligated.to.ensure.that.it.is
64760 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 0a 20 20 20 20 20 20 .available.for.as.long.as.......
64780 20 20 20 20 6e 65 65 64 65 64 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 73 65 20 72 65 71 75 ....needed.to.satisfy.these.requ
647a0 69 72 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 20 20 65 2e 20 43 6f 6e 76 65 79 20 74 68 65 20 irements..........e..Convey.the.
647c0 6f 62 6a 65 63 74 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 object.code.using.peer-to-peer.t
647e0 72 61 6e 73 6d 69 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 ransmission,...........provided.
64800 79 6f 75 20 69 6e 66 6f 72 6d 20 6f 74 68 65 72 20 70 65 65 72 73 20 77 68 65 72 65 20 74 68 65 you.inform.other.peers.where.the
64820 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 43 6f 72 72 65 .object.code.and...........Corre
64840 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 20 61 72 65 20 sponding.Source.of.the.work.are.
64860 62 65 69 6e 67 20 6f 66 66 65 72 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 67 being.offered.to.the...........g
64880 65 6e 65 72 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 eneral.public.at.no.charge.under
648a0 20 73 75 62 73 65 63 74 69 6f 6e 20 36 64 2e 0a 0a 20 20 20 20 20 41 20 73 65 70 61 72 61 62 6c .subsection.6d........A.separabl
648c0 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
648e0 6f 73 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 0a 20 20 20 20 20 65 78 63 6c 75 64 65 64 ose.source.code.is......excluded
64900 20 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 20 61 .from.the.Corresponding.Source.a
64920 73 20 61 20 53 79 73 74 65 6d 20 4c 69 62 72 61 72 79 2c 20 6e 65 65 64 0a 20 20 20 20 20 6e 6f s.a.System.Library,.need......no
64940 74 20 62 65 20 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 t.be.included.in.conveying.the.o
64960 62 6a 65 63 74 20 63 6f 64 65 20 77 6f 72 6b 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 55 73 65 72 bject.code.work........A....User
64980 20 50 72 6f 64 75 63 74 e2 80 9d 20 69 73 20 65 69 74 68 65 72 20 28 31 29 20 61 20 e2 80 9c 63 .Product....is.either.(1).a....c
649a0 6f 6e 73 75 6d 65 72 20 70 72 6f 64 75 63 74 e2 80 9d 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 0a onsumer.product...,.which.means.
649c0 20 20 20 20 20 61 6e 79 20 74 61 6e 67 69 62 6c 65 20 70 65 72 73 6f 6e 61 6c 20 70 72 6f 70 65 .....any.tangible.personal.prope
649e0 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 20 66 6f 72 20 70 rty.which.is.normally.used.for.p
64a00 65 72 73 6f 6e 61 6c 2c 0a 20 20 20 20 20 66 61 6d 69 6c 79 2c 20 6f 72 20 68 6f 75 73 65 68 6f ersonal,......family,.or.househo
64a20 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 73 ld.purposes,.or.(2).anything.des
64a40 69 67 6e 65 64 20 6f 72 20 73 6f 6c 64 20 66 6f 72 0a 20 20 20 20 20 69 6e 63 6f 72 70 6f 72 61 igned.or.sold.for......incorpora
64a60 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 65 74 65 72 6d tion.into.a.dwelling...In.determ
64a80 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 0a 20 20 20 20 20 ining.whether.a.product.is......
64aa0 61 20 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
64ac0 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
64ae0 0a 20 20 20 20 20 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 ......coverage...For.a.particula
64b00 72 20 70 72 6f 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 r.product.received.by.a.particul
64b20 61 72 20 75 73 65 72 2c 0a 20 20 20 20 20 e2 80 9c 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 e2 80 ar.user,.........normally.used..
64b40 9d 20 72 65 66 65 72 73 20 74 6f 20 61 20 74 79 70 69 63 61 6c 20 6f 72 20 63 6f 6d 6d 6f 6e 20 ..refers.to.a.typical.or.common.
64b60 75 73 65 20 6f 66 20 74 68 61 74 20 63 6c 61 73 73 20 6f 66 0a 20 20 20 20 20 70 72 6f 64 75 63 use.of.that.class.of......produc
64b80 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 20 6f 66 20 74 t,.regardless.of.the.status.of.t
64ba0 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 0a 20 20 20 he.particular.user.or.of.the....
64bc0 20 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 ..way.in.which.the.particular.us
64be0 65 72 20 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 er.actually.uses,.or.expects.or.
64c00 69 73 0a 20 20 20 20 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 is......expected.to.use,.the.pro
64c20 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 6d 65 72 20 70 duct...A.product.is.a.consumer.p
64c40 72 6f 64 75 63 74 0a 20 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 roduct......regardless.of.whethe
64c60 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
64c80 6d 6d 65 72 63 69 61 6c 2c 0a 20 20 20 20 20 69 6e 64 75 73 74 72 69 61 6c 20 6f 72 20 6e 6f 6e mmercial,......industrial.or.non
64ca0 2d 63 6f 6e 73 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 -consumer.uses,.unless.such.uses
64cc0 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 73 69 67 6e 69 66 69 .represent.the......only.signifi
64ce0 63 61 6e 74 20 6d 6f 64 65 20 6f 66 20 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 64 75 63 74 2e cant.mode.of.use.of.the.product.
64d00 0a 0a 20 20 20 20 20 e2 80 9c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 ..........Installation.Informati
64d20 6f 6e e2 80 9d 20 66 6f 72 20 61 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 6d 65 61 6e 73 20 61 on....for.a.User.Product.means.a
64d40 6e 79 20 6d 65 74 68 6f 64 73 2c 0a 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 73 2c 20 61 75 74 ny.methods,......procedures,.aut
64d60 68 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 horization.keys,.or.other.inform
64d80 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 74 6f 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 20 61 ation.required.to......install.a
64da0 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 73 20 6f 66 20 nd.execute.modified.versions.of.
64dc0 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 55 73 65 72 a.covered.work.in.that......User
64de0 20 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
64e00 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 0a 20 20 .of.its.Corresponding.Source....
64e20 20 20 20 54 68 65 20 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 ...The.information.must.suffice.
64e40 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 63 6f 6e 74 69 6e 75 65 64 0a 20 20 20 to.ensure.that.the.continued....
64e60 20 20 66 75 6e 63 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6f 62 ..functioning.of.the.modified.ob
64e80 6a 65 63 74 20 63 6f 64 65 20 69 73 20 69 6e 20 6e 6f 20 63 61 73 65 20 70 72 65 76 65 6e 74 65 ject.code.is.in.no.case.prevente
64ea0 64 20 6f 72 0a 20 20 20 20 20 69 6e 74 65 72 66 65 72 65 64 20 77 69 74 68 20 73 6f 6c 65 6c 79 d.or......interfered.with.solely
64ec0 20 62 65 63 61 75 73 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 6d .because.modification.has.been.m
64ee0 61 64 65 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 6e 20 6f 62 6a 65 ade........If.you.convey.an.obje
64f00 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 69 6f 6e 20 ct.code.work.under.this.section.
64f20 69 6e 2c 20 6f 72 20 77 69 74 68 2c 0a 20 20 20 20 20 6f 72 20 73 70 65 63 69 66 69 63 61 6c 6c in,.or.with,......or.specificall
64f40 79 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 y.for.use.in,.a.User.Product,.an
64f60 64 20 74 68 65 20 63 6f 6e 76 65 79 69 6e 67 0a 20 20 20 20 20 6f 63 63 75 72 73 20 61 73 20 70 d.the.conveying......occurs.as.p
64f80 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 20 74 68 art.of.a.transaction.in.which.th
64fa0 65 20 72 69 67 68 74 20 6f 66 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 61 6e 64 20 75 e.right.of.possession......and.u
64fc0 73 65 20 6f 66 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 73 20 74 72 61 6e 73 66 se.of.the.User.Product.is.transf
64fe0 65 72 72 65 64 20 74 6f 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 20 69 6e 0a 20 20 20 20 20 70 erred.to.the.recipient.in......p
65000 65 72 70 65 74 75 69 74 79 20 6f 72 20 66 6f 72 20 61 20 66 69 78 65 64 20 74 65 72 6d 20 28 72 erpetuity.or.for.a.fixed.term.(r
65020 65 67 61 72 64 6c 65 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 egardless.of.how.the.transaction
65040 0a 20 20 20 20 20 69 73 20 63 68 61 72 61 63 74 65 72 69 7a 65 64 29 2c 20 74 68 65 20 43 6f 72 ......is.characterized),.the.Cor
65060 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 63 6f 6e 76 65 79 65 64 20 75 6e 64 65 72 responding.Source.conveyed.under
65080 20 74 68 69 73 0a 20 20 20 20 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 63 63 6f 6d .this......section.must.be.accom
650a0 70 61 6e 69 65 64 20 62 79 20 74 68 65 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 panied.by.the.Installation.Infor
650c0 6d 61 74 69 6f 6e 2e 20 20 42 75 74 0a 20 20 20 20 20 74 68 69 73 20 72 65 71 75 69 72 65 6d 65 mation...But......this.requireme
650e0 6e 74 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 6c 79 20 69 66 20 6e 65 69 74 68 65 72 20 79 6f 75 nt.does.not.apply.if.neither.you
65100 20 6e 6f 72 20 61 6e 79 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 72 65 74 61 69 6e .nor.any.third.party......retain
65120 73 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6d 6f 64 69 66 69 65 s.the.ability.to.install.modifie
65140 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 0a 20 20 20 20 20 50 d.object.code.on.the.User......P
65160 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
65180 73 20 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 20 20 20 20 20 s.been.installed.in.ROM)........
651a0 54 68 65 20 72 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 The.requirement.to.provide.Insta
651c0 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 llation.Information.does.not....
651e0 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 63 6f 6e 74 69 ..include.a.requirement.to.conti
65200 6e 75 65 20 74 6f 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 73 65 72 76 69 63 65 2c 0a nue.to.provide.support.service,.
65220 20 20 20 20 20 77 61 72 72 61 6e 74 79 2c 20 6f 72 20 75 70 64 61 74 65 73 20 66 6f 72 20 61 20 .....warranty,.or.updates.for.a.
65240 77 6f 72 6b 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 work.that.has.been.modified.or.i
65260 6e 73 74 61 6c 6c 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 2c 20 nstalled......by.the.recipient,.
65280 6f 72 20 66 6f 72 20 74 68 65 20 55 73 65 72 20 50 72 6f 64 75 63 74 20 69 6e 20 77 68 69 63 68 or.for.the.User.Product.in.which
652a0 20 69 74 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 69 6e .it.has.been......modified.or.in
652c0 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 77 6f 72 6b 20 6d 61 stalled...Access.to.a.network.ma
652e0 79 20 62 65 20 64 65 6e 69 65 64 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 6d 6f 64 69 66 69 y.be.denied.when.the......modifi
65300 63 61 74 69 6f 6e 20 69 74 73 65 6c 66 20 6d 61 74 65 72 69 61 6c 6c 79 20 61 6e 64 20 61 64 76 cation.itself.materially.and.adv
65320 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 0a 20 20 20 ersely.affects.the.operation....
65340 20 20 6f 66 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6f 72 20 76 69 6f 6c 61 74 65 73 20 74 68 65 ..of.the.network.or.violates.the
65360 20 72 75 6c 65 73 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 73 20 66 6f 72 0a 20 20 20 20 20 63 6f .rules.and.protocols.for......co
65380 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 61 63 72 6f 73 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 2e 0a mmunication.across.the.network..
653a0 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 65 20 63 6f 6e 76 65 ......Corresponding.Source.conve
653c0 79 65 64 2c 20 61 6e 64 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 49 6e 66 6f 72 6d 61 74 69 6f yed,.and.Installation.Informatio
653e0 6e 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 n......provided,.in.accord.with.
65400 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 69 6e 20 61 20 66 6f 72 6d 61 74 this.section.must.be.in.a.format
65420 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 75 62 6c 69 63 6c 79 20 64 6f 63 75 6d 65 6e 74 65 .that.is......publicly.documente
65440 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 6e 20 61 76 d.(and.with.an.implementation.av
65460 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 20 73 6f ailable.to.the......public.in.so
65480 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 71 75 69 72 urce.code.form),.and.must.requir
654a0 65 20 6e 6f 20 73 70 65 63 69 61 6c 20 70 61 73 73 77 6f 72 64 0a 20 20 20 20 20 6f 72 20 6b 65 e.no.special.password......or.ke
654c0 79 20 66 6f 72 20 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 y.for.unpacking,.reading.or.copy
654e0 69 6e 67 2e 0a 0a 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 ing.....7..Additional.Terms.....
65500 20 20 20 e2 80 9c 41 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 e2 80 9d 20 ......Additional.permissions....
65520 61 72 65 20 74 65 72 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 are.terms.that.supplement.the.te
65540 72 6d 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 62 79 20 6d 61 6b 69 rms.of......this.License.by.maki
65560 6e 67 20 65 78 63 65 70 74 69 6f 6e 73 20 66 72 6f 6d 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f ng.exceptions.from.one.or.more.o
65580 66 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 41 64 64 69 74 69 6f 6e f.its......conditions...Addition
655a0 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 70 70 6c 69 63 61 62 al.permissions.that.are.applicab
655c0 6c 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d 20 73 68 le.to.the......entire.Program.sh
655e0 61 6c 6c 20 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 20 77 65 all.be.treated.as.though.they.we
65600 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 0a 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 6e 73 65 re.included.in......this.License
65620 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 76 61 ,.to.the.extent.that.they.are.va
65640 6c 69 64 20 75 6e 64 65 72 20 61 70 70 6c 69 63 61 62 6c 65 0a 20 20 20 20 20 6c 61 77 2e 20 20 lid.under.applicable......law...
65660 49 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 70 70 6c 79 20 If.additional.permissions.apply.
65680 6f 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 0a 20 20 20 only.to.part.of.the.Program,....
656a0 20 20 74 68 61 74 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 ..that.part.may.be.used.separate
656c0 6c 79 20 75 6e 64 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 ly.under.those.permissions,.but.
656e0 74 68 65 0a 20 20 20 20 20 65 6e 74 69 72 65 20 50 72 6f 67 72 61 6d 20 72 65 6d 61 69 6e 73 20 the......entire.Program.remains.
65700 67 6f 76 65 72 6e 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 6f 75 74 governed.by.this.License.without
65720 20 72 65 67 61 72 64 20 74 6f 0a 20 20 20 20 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 .regard.to......the.additional.p
65740 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 63 6f 6e 76 65 ermissions........When.you.conve
65760 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 6b 2c 20 79 6f 75 20 y.a.copy.of.a.covered.work,.you.
65780 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 72 65 6d 6f 76 65 20 61 may.at.your.option......remove.a
657a0 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 20 74 ny.additional.permissions.from.t
657c0 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 0a 20 20 20 20 20 hat.copy,.or.from.any.part......
657e0 6f 66 20 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 of.it...(Additional.permissions.
65800 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 20 may.be.written.to.require.their.
65820 6f 77 6e 0a 20 20 20 20 20 72 65 6d 6f 76 61 6c 20 69 6e 20 63 65 72 74 61 69 6e 20 63 61 73 65 own......removal.in.certain.case
65840 73 20 77 68 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 s.when.you.modify.the.work.)..Yo
65860 75 20 6d 61 79 20 70 6c 61 63 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 65 72 6d u.may.place......additional.perm
65880 69 73 73 69 6f 6e 73 20 6f 6e 20 6d 61 74 65 72 69 61 6c 2c 20 61 64 64 65 64 20 62 79 20 79 6f issions.on.material,.added.by.yo
658a0 75 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 0a 20 20 20 20 20 66 6f 72 20 77 68 u.to.a.covered.work,......for.wh
658c0 69 63 68 20 79 6f 75 20 68 61 76 65 20 6f 72 20 63 61 6e 20 67 69 76 65 20 61 70 70 72 6f 70 72 ich.you.have.or.can.give.appropr
658e0 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 0a 20 20 20 20 iate.copyright.permission.......
65900 20 4e 6f 74 77 69 74 68 73 74 61 6e 64 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 76 69 .Notwithstanding.any.other.provi
65920 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 66 6f 72 20 6d 61 74 65 72 69 sion.of.this.License,.for.materi
65940 61 6c 0a 20 20 20 20 20 79 6f 75 20 61 64 64 20 74 6f 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 al......you.add.to.a.covered.wor
65960 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 62 79 20 74 68 65 k,.you.may.(if.authorized.by.the
65980 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 20 20 68 6f 6c 64 65 72 73 20 6f 66 20 74 68 61 74 20 .copyright......holders.of.that.
659a0 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 6f material).supplement.the.terms.o
659c0 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 74 68 0a 20 20 20 20 20 74 65 72 6d 73 3a 0a f.this.License.with......terms:.
659e0 0a 20 20 20 20 20 20 20 61 2e 20 44 69 73 63 6c 61 69 6d 69 6e 67 20 77 61 72 72 61 6e 74 79 20 ........a..Disclaiming.warranty.
65a00 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 66 65 72 65 6e 74 6c or.limiting.liability.differentl
65a20 79 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 73 65 y.from...........the.terms.of.se
65a40 63 74 69 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 ctions.15.and.16.of.this.License
65a60 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 62 2e 20 52 65 71 75 69 72 69 6e 67 20 70 72 65 73 65 72 ;.or.........b..Requiring.preser
65a80 76 61 74 69 6f 6e 20 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 vation.of.specified.reasonable.l
65aa0 65 67 61 6c 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 75 74 68 6f 72 egal.notices...........or.author
65ac0 20 61 74 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 74 68 61 74 20 6d 61 74 65 72 69 61 6c 20 6f .attributions.in.that.material.o
65ae0 72 20 69 6e 20 74 68 65 20 41 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 4c r.in.the.Appropriate...........L
65b00 65 67 61 6c 20 4e 6f 74 69 63 65 73 20 64 69 73 70 6c 61 79 65 64 20 62 79 20 77 6f 72 6b 73 20 egal.Notices.displayed.by.works.
65b20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 74 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 63 2e 20 50 72 6f containing.it;.or.........c..Pro
65b40 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 68 hibiting.misrepresentation.of.th
65b60 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 0a 20 20 20 20 20 e.origin.of.that.material,......
65b80 20 20 20 20 20 6f 72 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 .....or.requiring.that.modified.
65ba0 76 65 72 73 69 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 versions.of.such.material.be.mar
65bc0 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 72 65 61 73 6f 6e 61 62 6c 65 20 77 61 79 73 ked...........in.reasonable.ways
65be0 20 61 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 .as.different.from.the.original.
65c00 76 65 72 73 69 6f 6e 3b 20 6f 72 0a 0a 20 20 20 20 20 20 20 64 2e 20 4c 69 6d 69 74 69 6e 67 20 version;.or.........d..Limiting.
65c20 74 68 65 20 75 73 65 20 66 6f 72 20 70 75 62 6c 69 63 69 74 79 20 70 75 72 70 6f 73 65 73 20 6f the.use.for.publicity.purposes.o
65c40 66 20 6e 61 6d 65 73 20 6f 66 20 6c 69 63 65 6e 73 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 6f f.names.of.licensors...........o
65c60 72 20 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 20 r.authors.of.the.material;.or...
65c80 20 20 20 20 20 20 65 2e 20 44 65 63 6c 69 6e 69 6e 67 20 74 6f 20 67 72 61 6e 74 20 72 69 67 68 ......e..Declining.to.grant.righ
65ca0 74 73 20 75 6e 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 ts.under.trademark.law.for.use.o
65cc0 66 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 20 74 72 61 64 65 20 6e 61 6d 65 73 2c 20 74 72 f.some...........trade.names,.tr
65ce0 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 72 0a 0a ademarks,.or.service.marks;.or..
65d00 20 20 20 20 20 20 20 66 2e 20 52 65 71 75 69 72 69 6e 67 20 69 6e 64 65 6d 6e 69 66 69 63 61 74 .......f..Requiring.indemnificat
65d20 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.
65d40 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 65 72 69 61 6c 20 62 79 20 61 6e 79 6f 6e that...........material.by.anyon
65d60 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 72 20 6d e.who.conveys.the.material.(or.m
65d80 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 69 74 odified...........versions.of.it
65da0 29 20 77 69 74 68 20 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 ).with.contractual.assumptions.o
65dc0 66 20 6c 69 61 62 69 6c 69 74 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 63 f.liability.to...........the.rec
65de0 69 70 69 65 6e 74 2c 20 66 6f 72 20 61 6e 79 20 6c 69 61 62 69 6c 69 74 79 20 74 68 61 74 20 74 ipient,.for.any.liability.that.t
65e00 68 65 73 65 20 63 6f 6e 74 72 61 63 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 73 73 75 6d hese.contractual...........assum
65e20 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 68 6f 73 65 20 ptions.directly.impose.on.those.
65e40 6c 69 63 65 6e 73 6f 72 73 20 61 6e 64 20 61 75 74 68 6f 72 73 2e 0a 0a 20 20 20 20 20 41 6c 6c licensors.and.authors........All
65e60 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 69 6f 6e 61 6c .other.non-permissive.additional
65e80 20 74 65 72 6d 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 e2 80 9c 66 75 72 74 68 65 72 .terms.are.considered....further
65ea0 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 69 6f 6e 73 e2 80 9d 20 77 69 74 68 69 6e 20 74 68 65 ......restrictions....within.the
65ec0 20 6d 65 61 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 .meaning.of.section.10...If.the.
65ee0 50 72 6f 67 72 61 6d 20 61 73 0a 20 20 20 20 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 69 74 2c Program.as......you.received.it,
65f00 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 61 20 6e .or.any.part.of.it,.contains.a.n
65f20 6f 74 69 63 65 20 73 74 61 74 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 69 74 20 69 73 20 67 6f otice.stating.that......it.is.go
65f40 76 65 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 verned.by.this.License.along.wit
65f60 68 20 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 20 20 20 20 20 h.a.term.that.is.a.further......
65f80 72 65 73 74 72 69 63 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 restriction,.you.may.remove.that
65fa0 20 74 65 72 6d 2e 20 20 49 66 20 61 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 0a 20 20 .term...If.a.license.document...
65fc0 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 66 75 72 74 68 65 72 20 72 65 73 74 72 69 63 74 69 6f ...contains.a.further.restrictio
65fe0 6e 20 62 75 74 20 70 65 72 6d 69 74 73 20 72 65 6c 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e n.but.permits.relicensing.or.con
66000 76 65 79 69 6e 67 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 veying......under.this.License,.
66020 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 20 6d 61 you.may.add.to.a.covered.work.ma
66040 74 65 72 69 61 6c 20 67 6f 76 65 72 6e 65 64 0a 20 20 20 20 20 62 79 20 74 68 65 20 74 65 72 6d terial.governed......by.the.term
66060 73 20 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 s.of.that.license.document,.prov
66080 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 72 65 73 74 72 ided.that.the.further......restr
660a0 69 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 75 72 76 69 76 65 20 73 75 63 68 20 72 65 6c iction.does.not.survive.such.rel
660c0 69 63 65 6e 73 69 6e 67 20 6f 72 20 63 6f 6e 76 65 79 69 6e 67 2e 0a 0a 20 20 20 20 20 49 66 20 icensing.or.conveying........If.
660e0 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.
66100 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
66120 0a 20 20 20 20 20 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 ......must.place,.in.the.relevan
66140 74 20 73 6f 75 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 t.source.files,.a.statement.of.t
66160 68 65 0a 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d 73 20 74 68 61 74 20 61 70 he......additional.terms.that.ap
66180 70 6c 79 20 74 6f 20 74 68 6f 73 65 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 6e 6f 74 69 63 65 20 ply.to.those.files,.or.a.notice.
661a0 69 6e 64 69 63 61 74 69 6e 67 0a 20 20 20 20 20 77 68 65 72 65 20 74 6f 20 66 69 6e 64 20 74 68 indicating......where.to.find.th
661c0 65 20 61 70 70 6c 69 63 61 62 6c 65 20 74 65 72 6d 73 2e 0a 0a 20 20 20 20 20 41 64 64 69 74 69 e.applicable.terms........Additi
661e0 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 6e 2d 70 65 onal.terms,.permissive.or.non-pe
66200 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 0a 20 20 20 20 20 rmissive,.may.be.stated.in......
66220 74 68 65 20 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 the.form.of.a.separately.written
66240 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 63 65 70 74 69 6f 6e .license,.or.stated.as.exception
66260 73 3b 0a 20 20 20 20 20 74 68 65 20 61 62 6f 76 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 s;......the.above.requirements.a
66280 70 70 6c 79 20 65 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 pply.either.way.....8..Terminati
662a0 6f 6e 2e 0a 0a 20 20 20 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 70 72 6f 70 61 67 61 74 65 20 on........You.may.not.propagate.
662c0 6f 72 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 or.modify.a.covered.work.except.
662e0 61 73 20 65 78 70 72 65 73 73 6c 79 0a 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 as.expressly......provided.under
66300 20 74 68 69 73 20 4c 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 .this.License...Any.attempt.othe
66320 72 77 69 73 65 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 0a 20 20 20 20 20 6d 6f 64 69 66 rwise.to.propagate.or......modif
66340 79 20 69 74 20 69 73 20 76 6f 69 64 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 y.it.is.void,.and.will.automatic
66360 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 0a 20 20 20 20 20 ally.terminate.your.rights......
66380 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 6e under.this.License.(including.an
663a0 79 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 20 67 72 61 6e 74 65 64 20 75 6e 64 65 72 20 y.patent.licenses.granted.under.
663c0 74 68 65 0a 20 20 20 20 20 74 68 69 72 64 20 70 61 72 61 67 72 61 70 68 20 6f 66 20 73 65 63 74 the......third.paragraph.of.sect
663e0 69 6f 6e 20 31 31 29 2e 0a 0a 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 63 ion.11)........However,.if.you.c
66400 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
66420 73 65 2c 20 74 68 65 6e 20 79 6f 75 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 se,.then.your......license.from.
66440 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
66460 20 72 65 69 6e 73 74 61 74 65 64 20 28 61 29 0a 20 20 20 20 20 70 72 6f 76 69 73 69 6f 6e 61 6c .reinstated.(a)......provisional
66480 6c 79 2c 20 75 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 ly,.unless.and.until.the.copyrig
664a0 68 74 20 68 6f 6c 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 20 61 6e 64 0a 20 20 20 20 20 66 69 ht.holder.explicitly.and......fi
664c0 6e 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 79 6f 75 72 20 6c 69 63 65 6e 73 65 2c 20 61 nally.terminates.your.license,.a
664e0 6e 64 20 28 62 29 20 70 65 72 6d 61 6e 65 6e 74 6c 79 2c 20 69 66 20 74 68 65 0a 20 20 20 20 20 nd.(b).permanently,.if.the......
66500 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 66 61 69 6c 73 20 74 6f 20 6e 6f 74 69 66 79 copyright.holder.fails.to.notify
66520 20 79 6f 75 20 6f 66 20 74 68 65 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 0a 20 20 .you.of.the.violation.by.some...
66540 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6d 65 61 6e 73 20 70 72 69 6f 72 20 74 6f 20 36 30 20 ...reasonable.means.prior.to.60.
66560 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 0a 0a 20 20 20 20 20 days.after.the.cessation........
66580 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 61 20 70 61 Moreover,.your.license.from.a.pa
665a0 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 0a 20 20 20 rticular.copyright.holder.is....
665c0 20 20 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 ..reinstated.permanently.if.the.
665e0 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 6f 66 copyright.holder.notifies.you.of
66600 20 74 68 65 0a 20 20 20 20 20 76 69 6f 6c 61 74 69 6f 6e 20 62 79 20 73 6f 6d 65 20 72 65 61 73 .the......violation.by.some.reas
66620 6f 6e 61 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 onable.means,.this.is.the.first.
66640 74 69 6d 65 20 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 72 65 63 65 69 76 65 64 20 6e 6f 74 69 time.you.have......received.noti
66660 63 65 20 6f 66 20 76 69 6f 6c 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ce.of.violation.of.this.License.
66680 28 66 6f 72 20 61 6e 79 20 77 6f 72 6b 29 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 61 74 20 63 6f (for.any.work).from......that.co
666a0 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 2c 20 61 6e 64 20 79 6f 75 20 63 75 72 65 20 74 68 65 pyright.holder,.and.you.cure.the
666c0 20 76 69 6f 6c 61 74 69 6f 6e 20 70 72 69 6f 72 20 74 6f 20 33 30 20 64 61 79 73 0a 20 20 20 20 .violation.prior.to.30.days.....
666e0 20 61 66 74 65 72 20 79 6f 75 72 20 72 65 63 65 69 70 74 20 6f 66 20 74 68 65 20 6e 6f 74 69 63 .after.your.receipt.of.the.notic
66700 65 2e 0a 0a 20 20 20 20 20 54 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 79 6f 75 72 20 72 69 67 e........Termination.of.your.rig
66720 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 73 20 6e 6f 74 20 hts.under.this.section.does.not.
66740 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 74 68 65 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 70 terminate......the.licenses.of.p
66760 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 20 arties.who.have.received.copies.
66780 6f 72 20 72 69 67 68 74 73 20 66 72 6f 6d 20 79 6f 75 0a 20 20 20 20 20 75 6e 64 65 72 20 74 68 or.rights.from.you......under.th
667a0 69 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 is.License...If.your.rights.have
667c0 20 62 65 65 6e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 6e 6f 74 0a 20 20 20 20 20 70 65 .been.terminated.and.not......pe
667e0 72 6d 61 6e 65 6e 74 6c 79 20 72 65 69 6e 73 74 61 74 65 64 2c 20 79 6f 75 20 64 6f 20 6e 6f 74 rmanently.reinstated,.you.do.not
66800 20 71 75 61 6c 69 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 .qualify.to.receive.new.licenses
66820 0a 20 20 20 20 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 6d 61 74 65 72 69 61 6c 20 75 6e 64 65 ......for.the.same.material.unde
66840 72 20 73 65 63 74 69 6f 6e 20 31 30 2e 0a 0a 20 20 39 2e 20 41 63 63 65 70 74 61 6e 63 65 20 4e r.section.10.....9..Acceptance.N
66860 6f 74 20 52 65 71 75 69 72 65 64 20 66 6f 72 20 48 61 76 69 6e 67 20 43 6f 70 69 65 73 2e 0a 0a ot.Required.for.Having.Copies...
66880 20 20 20 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 61 63 63 .....You.are.not.required.to.acc
668a0 65 70 74 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 72 65 63 ept.this.License.in.order.to.rec
668c0 65 69 76 65 20 6f 72 0a 20 20 20 20 20 72 75 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 eive.or......run.a.copy.of.the.P
668e0 72 6f 67 72 61 6d 2e 20 20 41 6e 63 69 6c 6c 61 72 79 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f rogram...Ancillary.propagation.o
66900 66 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 6f 63 63 75 72 72 69 6e 67 20 f.a.covered.work......occurring.
66920 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 66 20 75 73 69 6e 67 solely.as.a.consequence.of.using
66940 20 70 65 65 72 2d 74 6f 2d 70 65 65 72 0a 20 20 20 20 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 .peer-to-peer......transmission.
66960 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 73 20 to.receive.a.copy.likewise.does.
66980 6e 6f 74 20 72 65 71 75 69 72 65 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 65 2e 20 20 48 6f not.require......acceptance...Ho
669a0 77 65 76 65 72 2c 20 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 wever,.nothing.other.than.this.L
669c0 69 63 65 6e 73 65 20 67 72 61 6e 74 73 20 79 6f 75 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f icense.grants.you......permissio
669e0 6e 20 74 6f 20 70 72 6f 70 61 67 61 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 61 6e 79 20 63 6f 76 n.to.propagate.or.modify.any.cov
66a00 65 72 65 64 20 77 6f 72 6b 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 0a 20 20 20 20 20 69 ered.work...These.actions......i
66a20 6e 66 72 69 6e 67 65 20 63 6f 70 79 72 69 67 68 74 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 nfringe.copyright.if.you.do.not.
66a40 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c accept.this.License...Therefore,
66a60 0a 20 20 20 20 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 20 6f 72 20 70 72 6f 70 61 67 61 74 69 6e ......by.modifying.or.propagatin
66a80 67 20 61 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 g.a.covered.work,.you.indicate.y
66aa0 6f 75 72 0a 20 20 20 20 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 our......acceptance.of.this.Lice
66ac0 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 31 30 2e 20 41 75 74 6f 6d 61 74 69 63 20 4c nse.to.do.so.....10..Automatic.L
66ae0 69 63 65 6e 73 69 6e 67 20 6f 66 20 44 6f 77 6e 73 74 72 65 61 6d 20 52 65 63 69 70 69 65 6e 74 icensing.of.Downstream.Recipient
66b00 73 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 s........Each.time.you.convey.a.
66b20 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 61 75 74 6f covered.work,.the.recipient.auto
66b40 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 65 6e 73 matically......receives.a.licens
66b60 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 74 e.from.the.original.licensors,.t
66b80 6f 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 0a 20 20 20 20 20 70 72 6f 70 61 67 61 74 65 o.run,.modify.and......propagate
66ba0 20 74 68 61 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 .that.work,.subject.to.this.Lice
66bc0 6e 73 65 2e 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 70 6f 6e 73 69 62 nse...You.are.not......responsib
66be0 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 le.for.enforcing.compliance.by.t
66c00 68 69 72 64 20 70 61 72 74 69 65 73 20 77 69 74 68 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 hird.parties.with.this......Lice
66c20 6e 73 65 2e 0a 0a 20 20 20 20 20 41 6e 20 e2 80 9c 65 6e 74 69 74 79 20 74 72 61 6e 73 61 63 74 nse........An....entity.transact
66c40 69 6f 6e e2 80 9d 20 69 73 20 61 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 74 72 61 6e 73 66 65 72 ion....is.a.transaction.transfer
66c60 72 69 6e 67 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 61 6e 0a 20 20 20 20 20 6f 72 67 61 6e 69 7a 61 ring.control.of.an......organiza
66c80 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 73 73 65 74 tion,.or.substantially.all.asset
66ca0 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 20 20 20 20 s.of.one,.or.subdividing.an.....
66cc0 20 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 .organization,.or.merging.organi
66ce0 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 0a 20 20 zations...If.propagation.of.a...
66d00 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 61 6e 20 ...covered.work.results.from.an.
66d20 65 6e 74 69 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 entity.transaction,.each.party.t
66d40 6f 20 74 68 61 74 0a 20 20 20 20 20 74 72 61 6e 73 61 63 74 69 6f 6e 20 77 68 6f 20 72 65 63 65 o.that......transaction.who.rece
66d60 69 76 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 61 6c 73 6f 20 72 65 63 ives.a.copy.of.the.work.also.rec
66d80 65 69 76 65 73 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 73 20 74 6f 20 eives.whatever......licenses.to.
66da0 74 68 65 20 77 6f 72 6b 20 74 68 65 20 70 61 72 74 79 e2 80 99 73 20 70 72 65 64 65 63 65 73 73 the.work.the.party...s.predecess
66dc0 6f 72 20 69 6e 20 69 6e 74 65 72 65 73 74 20 68 61 64 20 6f 72 0a 20 20 20 20 20 63 6f 75 6c 64 or.in.interest.had.or......could
66de0 20 67 69 76 65 20 75 6e 64 65 72 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 72 61 67 72 61 .give.under.the.previous.paragra
66e00 70 68 2c 20 70 6c 75 73 20 61 20 72 69 67 68 74 20 74 6f 20 70 6f 73 73 65 73 73 69 6f 6e 0a 20 ph,.plus.a.right.to.possession..
66e20 20 20 20 20 6f 66 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 ....of.the.Corresponding.Source.
66e40 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 73 73 6f 72 of.the.work.from.the.predecessor
66e60 20 69 6e 0a 20 20 20 20 20 69 6e 74 65 72 65 73 74 2c 20 69 66 20 74 68 65 20 70 72 65 64 65 63 .in......interest,.if.the.predec
66e80 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 20 essor.has.it.or.can.get.it.with.
66ea0 72 65 61 73 6f 6e 61 62 6c 65 0a 20 20 20 20 20 65 66 66 6f 72 74 73 2e 0a 0a 20 20 20 20 20 59 reasonable......efforts........Y
66ec0 6f 75 20 6d 61 79 20 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 ou.may.not.impose.any.further.re
66ee0 73 74 72 69 63 74 69 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 strictions.on.the.exercise.of.th
66f00 65 0a 20 20 20 20 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 6f 72 20 61 66 66 69 72 6d 65 e......rights.granted.or.affirme
66f20 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 d.under.this.License...For.examp
66f40 6c 65 2c 20 79 6f 75 0a 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 20 6c 69 le,.you......may.not.impose.a.li
66f60 63 65 6e 73 65 20 66 65 65 2c 20 72 6f 79 61 6c 74 79 2c 20 6f 72 20 6f 74 68 65 72 20 63 68 61 cense.fee,.royalty,.or.other.cha
66f80 72 67 65 20 66 6f 72 20 65 78 65 72 63 69 73 65 0a 20 20 20 20 20 6f 66 20 72 69 67 68 74 73 20 rge.for.exercise......of.rights.
66fa0 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 2c 20 61 6e 64 20 granted.under.this.License,.and.
66fc0 79 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6e 69 74 69 61 74 65 0a 20 20 20 20 20 6c 69 74 69 67 61 you.may.not.initiate......litiga
66fe0 74 69 6f 6e 20 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 72 tion.(including.a.cross-claim.or
67000 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 0a 20 20 20 20 .counterclaim.in.a.lawsuit).....
67020 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 20 61 6e 79 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 20 .alleging.that.any.patent.claim.
67040 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 0a 20 is.infringed.by.making,.using,..
67060 20 20 20 20 73 65 6c 6c 69 6e 67 2c 20 6f 66 66 65 72 69 6e 67 20 66 6f 72 20 73 61 6c 65 2c 20 ....selling,.offering.for.sale,.
67080 6f 72 20 69 6d 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 or.importing.the.Program.or.any.
670a0 70 6f 72 74 69 6f 6e 0a 20 20 20 20 20 6f 66 20 69 74 2e 0a 0a 20 20 31 31 2e 20 50 61 74 65 6e portion......of.it.....11..Paten
670c0 74 73 2e 0a 0a 20 20 20 20 20 41 20 e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 9d 20 69 73 ts........A....contributor....is
670e0 20 61 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 61 75 74 68 6f 72 69 7a .a.copyright.holder.who.authoriz
67100 65 73 20 75 73 65 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 6f es.use.under.this......License.o
67120 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 20 77 68 69 63 68 f.the.Program.or.a.work.on.which
67140 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 62 61 73 65 64 2e 0a 20 20 20 20 20 54 68 65 20 .the.Program.is.based.......The.
67160 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 68 65 work.thus.licensed.is.called.the
67180 20 63 6f 6e 74 72 69 62 75 74 6f 72 e2 80 99 73 20 e2 80 9c 63 6f 6e 74 72 69 62 75 74 6f 72 0a .contributor...s....contributor.
671a0 20 20 20 20 20 76 65 72 73 69 6f 6e e2 80 9d 2e 0a 0a 20 20 20 20 20 41 20 63 6f 6e 74 72 69 62 .....version...........A.contrib
671c0 75 74 6f 72 e2 80 99 73 20 e2 80 9c 65 73 73 65 6e 74 69 61 6c 20 70 61 74 65 6e 74 20 63 6c 61 utor...s....essential.patent.cla
671e0 69 6d 73 e2 80 9d 20 61 72 65 20 61 6c 6c 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 0a 20 20 20 ims....are.all.patent.claims....
67200 20 20 6f 77 6e 65 64 20 6f 72 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 63 6f 6e ..owned.or.controlled.by.the.con
67220 74 72 69 62 75 74 6f 72 2c 20 77 68 65 74 68 65 72 20 61 6c 72 65 61 64 79 20 61 63 71 75 69 72 tributor,.whether.already.acquir
67240 65 64 20 6f 72 0a 20 20 20 20 20 68 65 72 65 61 66 74 65 72 20 61 63 71 75 69 72 65 64 2c 20 74 ed.or......hereafter.acquired,.t
67260 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 73 6f 6d 65 20 6d hat.would.be.infringed.by.some.m
67280 61 6e 6e 65 72 2c 0a 20 20 20 20 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 74 68 69 73 20 4c 69 anner,......permitted.by.this.Li
672a0 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 6c cense,.of.making,.using,.or.sell
672c0 69 6e 67 20 69 74 73 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 65 72 73 69 6f 6e ing.its......contributor.version
672e0 2c 20 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 ,.but.do.not.include.claims.that
67300 20 77 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 69 6e 66 72 69 6e 67 65 64 20 6f 6e 6c 79 20 61 73 .would.be......infringed.only.as
67320 20 61 20 63 6f 6e 73 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 .a.consequence.of.further.modifi
67340 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 63 6f 6e 74 72 69 62 75 74 6f 72 20 76 cation.of.the......contributor.v
67360 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 ersion...For.purposes.of.this.de
67380 66 69 6e 69 74 69 6f 6e 2c 20 e2 80 9c 63 6f 6e 74 72 6f 6c e2 80 9d 0a 20 20 20 20 20 69 6e 63 finition,....control.........inc
673a0 6c 75 64 65 73 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 67 72 61 6e 74 20 70 61 74 65 6e 74 20 ludes.the.right.to.grant.patent.
673c0 73 75 62 6c 69 63 65 6e 73 65 73 20 69 6e 20 61 20 6d 61 6e 6e 65 72 0a 20 20 20 20 20 63 6f 6e sublicenses.in.a.manner......con
673e0 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 20 6f 66 sistent.with.the.requirements.of
67400 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 63 6f 6e 74 72 69 .this.License........Each.contri
67420 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 65 butor.grants.you.a.non-exclusive
67440 2c 20 77 6f 72 6c 64 77 69 64 65 2c 0a 20 20 20 20 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 70 ,.worldwide,......royalty-free.p
67460 61 74 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 atent.license.under.the.contribu
67480 74 6f 72 e2 80 99 73 20 65 73 73 65 6e 74 69 61 6c 0a 20 20 20 20 20 70 61 74 65 6e 74 20 63 6c tor...s.essential......patent.cl
674a0 61 69 6d 73 2c 20 74 6f 20 6d 61 6b 65 2c 20 75 73 65 2c 20 73 65 6c 6c 2c 20 6f 66 66 65 72 20 aims,.to.make,.use,.sell,.offer.
674c0 66 6f 72 20 73 61 6c 65 2c 20 69 6d 70 6f 72 74 20 61 6e 64 0a 20 20 20 20 20 6f 74 68 65 72 77 for.sale,.import.and......otherw
674e0 69 73 65 20 72 75 6e 2c 20 6d 6f 64 69 66 79 20 61 6e 64 20 70 72 6f 70 61 67 61 74 65 20 74 68 ise.run,.modify.and.propagate.th
67500 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 69 74 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 0a 20 20 e.contents.of.its.contributor...
67520 20 20 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 ...version........In.the.followi
67540 6e 67 20 74 68 72 65 65 20 70 61 72 61 67 72 61 70 68 73 2c 20 61 20 e2 80 9c 70 61 74 65 6e 74 ng.three.paragraphs,.a....patent
67560 20 6c 69 63 65 6e 73 65 e2 80 9d 20 69 73 20 61 6e 79 0a 20 20 20 20 20 65 78 70 72 65 73 73 20 .license....is.any......express.
67580 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 72 agreement.or.commitment,.however
675a0 20 64 65 6e 6f 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 74 6f 0a 20 20 20 20 20 65 6e 66 6f 72 63 .denominated,.not.to......enforc
675c0 65 20 61 20 70 61 74 65 6e 74 20 28 73 75 63 68 20 61 73 20 61 6e 20 65 78 70 72 65 73 73 20 70 e.a.patent.(such.as.an.express.p
675e0 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 70 72 61 63 74 69 63 65 20 61 0a 20 20 20 20 20 70 61 74 ermission.to.practice.a......pat
67600 65 6e 74 20 6f 72 20 63 6f 76 65 6e 61 6e 74 20 6e 6f 74 20 74 6f 20 73 75 65 20 66 6f 72 20 70 ent.or.covenant.not.to.sue.for.p
67620 61 74 65 6e 74 20 69 6e 66 72 69 6e 67 65 6d 65 6e 74 29 2e 20 20 54 6f 20 e2 80 9c 67 72 61 6e atent.infringement)...To....gran
67640 74 e2 80 9d 0a 20 20 20 20 20 73 75 63 68 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 t.........such.a.patent.license.
67660 74 6f 20 61 20 70 61 72 74 79 20 6d 65 61 6e 73 20 74 6f 20 6d 61 6b 65 20 73 75 63 68 20 61 6e to.a.party.means.to.make.such.an
67680 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 20 20 20 20 20 63 6f 6d 6d 69 74 6d 65 6e 74 20 6e 6f .agreement.or......commitment.no
676a0 74 20 74 6f 20 65 6e 66 6f 72 63 65 20 61 20 70 61 74 65 6e 74 20 61 67 61 69 6e 73 74 20 74 68 t.to.enforce.a.patent.against.th
676c0 65 20 70 61 72 74 79 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 6e 76 65 79 20 61 20 63 e.party........If.you.convey.a.c
676e0 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 6e 67 20 6f overed.work,.knowingly.relying.o
67700 6e 20 61 20 70 61 74 65 6e 74 0a 20 20 20 20 20 6c 69 63 65 6e 73 65 2c 20 61 6e 64 20 74 68 65 n.a.patent......license,.and.the
67720 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 72 .Corresponding.Source.of.the.wor
67740 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 66 6f 72 20 61 6e 79 6f k.is.not.available......for.anyo
67760 6e 65 20 74 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 ne.to.copy,.free.of.charge.and.u
67780 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 4c 69 63 65 nder.the.terms.of.this......Lice
677a0 6e 73 65 2c 20 74 68 72 6f 75 67 68 20 61 20 70 75 62 6c 69 63 6c 79 20 61 76 61 69 6c 61 62 6c nse,.through.a.publicly.availabl
677c0 65 20 6e 65 74 77 6f 72 6b 20 73 65 72 76 65 72 20 6f 72 20 6f 74 68 65 72 0a 20 20 20 20 20 72 e.network.server.or.other......r
677e0 65 61 64 69 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 6d 65 61 6e 73 2c 20 74 68 65 6e 20 79 6f eadily.accessible.means,.then.yo
67800 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 28 31 29 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 u.must.either.(1).cause.the.....
67820 20 43 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 53 6f 75 72 63 65 20 74 6f 20 62 65 20 73 6f 20 61 .Corresponding.Source.to.be.so.a
67840 76 61 69 6c 61 62 6c 65 2c 20 6f 72 20 28 32 29 20 61 72 72 61 6e 67 65 20 74 6f 20 64 65 70 72 vailable,.or.(2).arrange.to.depr
67860 69 76 65 0a 20 20 20 20 20 79 6f 75 72 73 65 6c 66 20 6f 66 20 74 68 65 20 62 65 6e 65 66 69 74 ive......yourself.of.the.benefit
67880 20 6f 66 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 69 73 20 .of.the.patent.license.for.this.
678a0 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 77 6f 72 6b 2c 20 6f 72 20 28 33 29 20 61 72 72 particular......work,.or.(3).arr
678c0 61 6e 67 65 2c 20 69 6e 20 61 20 6d 61 6e 6e 65 72 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 ange,.in.a.manner.consistent.wit
678e0 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 h.the.requirements......of.this.
67900 4c 69 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 20 6c 69 License,.to.extend.the.patent.li
67920 63 65 6e 73 65 20 74 6f 20 64 6f 77 6e 73 74 72 65 61 6d 0a 20 20 20 20 20 72 65 63 69 70 69 65 cense.to.downstream......recipie
67940 6e 74 73 2e 20 20 e2 80 9c 4b 6e 6f 77 69 6e 67 6c 79 20 72 65 6c 79 69 6e 67 e2 80 9d 20 6d 65 nts......Knowingly.relying....me
67960 61 6e 73 20 79 6f 75 20 68 61 76 65 20 61 63 74 75 61 6c 20 6b 6e 6f 77 6c 65 64 67 65 0a 20 20 ans.you.have.actual.knowledge...
67980 20 20 20 74 68 61 74 2c 20 62 75 74 20 66 6f 72 20 74 68 65 20 70 61 74 65 6e 74 20 6c 69 63 65 ...that,.but.for.the.patent.lice
679a0 6e 73 65 2c 20 79 6f 75 72 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 nse,.your.conveying.the.covered.
679c0 77 6f 72 6b 0a 20 20 20 20 20 69 6e 20 61 20 63 6f 75 6e 74 72 79 2c 20 6f 72 20 79 6f 75 72 20 work......in.a.country,.or.your.
679e0 72 65 63 69 70 69 65 6e 74 e2 80 99 73 20 75 73 65 20 6f 66 20 74 68 65 20 63 6f 76 65 72 65 64 recipient...s.use.of.the.covered
67a00 20 77 6f 72 6b 20 69 6e 20 61 0a 20 20 20 20 20 63 6f 75 6e 74 72 79 2c 20 77 6f 75 6c 64 20 69 .work.in.a......country,.would.i
67a20 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 61 62 6c 65 nfringe.one.or.more.identifiable
67a40 20 70 61 74 65 6e 74 73 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 63 6f 75 6e 74 72 79 20 74 68 .patents.in.that......country.th
67a60 61 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 at.you.have.reason.to.believe.ar
67a80 65 20 76 61 6c 69 64 2e 0a 0a 20 20 20 20 20 49 66 2c 20 70 75 72 73 75 61 6e 74 20 74 6f 20 6f e.valid........If,.pursuant.to.o
67aa0 72 20 69 6e 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 r.in.connection.with.a.single.tr
67ac0 61 6e 73 61 63 74 69 6f 6e 20 6f 72 0a 20 20 20 20 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 79 ansaction.or......arrangement,.y
67ae0 6f 75 20 63 6f 6e 76 65 79 2c 20 6f 72 20 70 72 6f 70 61 67 61 74 65 20 62 79 20 70 72 6f 63 75 ou.convey,.or.propagate.by.procu
67b00 72 69 6e 67 20 63 6f 6e 76 65 79 61 6e 63 65 20 6f 66 2c 20 61 0a 20 20 20 20 20 63 6f 76 65 72 ring.conveyance.of,.a......cover
67b20 65 64 20 77 6f 72 6b 2c 20 61 6e 64 20 67 72 61 6e 74 20 61 20 70 61 74 65 6e 74 20 6c 69 63 65 ed.work,.and.grant.a.patent.lice
67b40 6e 73 65 20 74 6f 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 0a 20 20 20 20 20 nse.to.some.of.the.parties......
67b60 72 65 63 65 69 76 69 6e 67 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 20 61 75 74 68 6f receiving.the.covered.work.autho
67b80 72 69 7a 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 2c 20 70 72 6f 70 61 67 61 74 65 2c 0a 20 rizing.them.to.use,.propagate,..
67ba0 20 20 20 20 6d 6f 64 69 66 79 20 6f 72 20 63 6f 6e 76 65 79 20 61 20 73 70 65 63 69 66 69 63 20 ....modify.or.convey.a.specific.
67bc0 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 74 68 65 6e 20 74 copy.of.the.covered.work,.then.t
67be0 68 65 0a 20 20 20 20 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 79 6f 75 20 67 72 61 6e 74 he......patent.license.you.grant
67c00 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 6c .is.automatically.extended.to.al
67c20 6c 0a 20 20 20 20 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 l......recipients.of.the.covered
67c40 20 77 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 .work.and.works.based.on.it.....
67c60 20 20 20 41 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 69 73 20 e2 80 9c 64 69 73 63 72 69 ...A.patent.license.is....discri
67c80 6d 69 6e 61 74 6f 72 79 e2 80 9d 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 minatory....if.it.does.not.inclu
67ca0 64 65 20 77 69 74 68 69 6e 0a 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 69 74 73 20 de.within......the.scope.of.its.
67cc0 63 6f 76 65 72 61 67 65 2c 20 70 72 6f 68 69 62 69 74 73 20 74 68 65 20 65 78 65 72 63 69 73 65 coverage,.prohibits.the.exercise
67ce0 20 6f 66 2c 20 6f 72 20 69 73 0a 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 65 64 20 6f 6e 20 74 .of,.or.is......conditioned.on.t
67d00 68 65 20 6e 6f 6e 2d 65 78 65 72 63 69 73 65 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f he.non-exercise.of.one.or.more.o
67d20 66 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 20 20 20 20 20 61 72 65 20 73 70 65 63 69 f.the.rights.that......are.speci
67d40 66 69 63 61 6c 6c 79 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 fically.granted.under.this.Licen
67d60 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 0a 20 20 20 20 20 63 se...You.may.not.convey.a......c
67d80 6f 76 65 72 65 64 20 77 6f 72 6b 20 69 66 20 79 6f 75 20 61 72 65 20 61 20 70 61 72 74 79 20 74 overed.work.if.you.are.a.party.t
67da0 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 0a 20 20 o.an.arrangement.with.a.third...
67dc0 20 20 20 70 61 72 74 79 20 74 68 61 74 20 69 73 20 69 6e 20 74 68 65 20 62 75 73 69 6e 65 73 73 ...party.that.is.in.the.business
67de0 20 6f 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 .of.distributing.software,.under
67e00 20 77 68 69 63 68 0a 20 20 20 20 20 79 6f 75 20 6d 61 6b 65 20 70 61 79 6d 65 6e 74 20 74 6f 20 .which......you.make.payment.to.
67e20 74 68 65 20 74 68 69 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 the.third.party.based.on.the.ext
67e40 65 6e 74 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 61 63 74 69 76 69 74 79 20 6f 66 20 63 6f 6e ent.of.your......activity.of.con
67e60 76 65 79 69 6e 67 20 74 68 65 20 77 6f 72 6b 2c 20 61 6e 64 20 75 6e 64 65 72 20 77 68 69 63 68 veying.the.work,.and.under.which
67e80 20 74 68 65 20 74 68 69 72 64 20 70 61 72 74 79 0a 20 20 20 20 20 67 72 61 6e 74 73 2c 20 74 6f .the.third.party......grants,.to
67ea0 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 72 74 69 65 73 20 77 68 6f 20 77 6f 75 6c 64 20 72 65 .any.of.the.parties.who.would.re
67ec0 63 65 69 76 65 20 74 68 65 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 0a 20 20 20 20 20 66 72 6f 6d ceive.the.covered.work......from
67ee0 20 79 6f 75 2c 20 61 20 64 69 73 63 72 69 6d 69 6e 61 74 6f 72 79 20 70 61 74 65 6e 74 20 6c 69 .you,.a.discriminatory.patent.li
67f00 63 65 6e 73 65 20 28 61 29 20 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 0a 20 20 20 cense.(a).in.connection.with....
67f20 20 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 63 6f 6e ..copies.of.the.covered.work.con
67f40 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 65 20 66 72 6f veyed.by.you.(or.copies.made.fro
67f60 6d 0a 20 20 20 20 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 m......those.copies),.or.(b).pri
67f80 6d 61 72 69 6c 79 20 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
67fa0 68 20 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 70 72 6f 64 75 63 74 73 20 6f 72 20 63 6f 6d 70 h.specific......products.or.comp
67fc0 69 6c 61 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 6f 76 65 72 65 ilations.that.contain.the.covere
67fe0 64 20 77 6f 72 6b 2c 20 75 6e 6c 65 73 73 20 79 6f 75 0a 20 20 20 20 20 65 6e 74 65 72 65 64 20 d.work,.unless.you......entered.
68000 69 6e 74 6f 20 74 68 61 74 20 61 72 72 61 6e 67 65 6d 65 6e 74 2c 20 6f 72 20 74 68 61 74 20 70 into.that.arrangement,.or.that.p
68020 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 77 61 73 20 67 72 61 6e 74 65 64 2c 0a 20 20 20 20 20 atent.license.was.granted,......
68040 70 72 69 6f 72 20 74 6f 20 32 38 20 4d 61 72 63 68 20 32 30 30 37 2e 0a 0a 20 20 20 20 20 4e 6f prior.to.28.March.2007........No
68060 74 68 69 6e 67 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 73 68 61 6c 6c 20 62 65 20 63 thing.in.this.License.shall.be.c
68080 6f 6e 73 74 72 75 65 64 20 61 73 20 65 78 63 6c 75 64 69 6e 67 20 6f 72 20 6c 69 6d 69 74 69 6e onstrued.as.excluding.or.limitin
680a0 67 0a 20 20 20 20 20 61 6e 79 20 69 6d 70 6c 69 65 64 20 6c 69 63 65 6e 73 65 20 6f 72 20 6f 74 g......any.implied.license.or.ot
680c0 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 74 20 74 68 61 her.defenses.to.infringement.tha
680e0 74 20 6d 61 79 0a 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 62 65 20 61 76 61 69 6c 61 62 6c t.may......otherwise.be.availabl
68100 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
68120 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 20 4f 74 68 .law.....12..No.Surrender.of.Oth
68140 65 72 73 e2 80 99 20 46 72 65 65 64 6f 6d 2e 0a 0a 20 20 20 20 20 49 66 20 63 6f 6e 64 69 74 69 ers....Freedom........If.conditi
68160 6f 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 ons.are.imposed.on.you.(whether.
68180 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 0a 20 20 20 20 20 6f by.court.order,.agreement......o
681a0 72 20 6f 74 68 65 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 r.otherwise).that.contradict.the
681c0 20 63 6f 6e 64 69 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 .conditions.of.this.License,.the
681e0 79 0a 20 20 20 20 20 64 6f 20 6e 6f 74 20 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 y......do.not.excuse.you.from.th
68200 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 e.conditions.of.this.License...I
68220 66 20 79 6f 75 0a 20 20 20 20 20 63 61 6e 6e 6f 74 20 63 6f 6e 76 65 79 20 61 20 63 6f 76 65 72 f.you......cannot.convey.a.cover
68240 65 64 20 77 6f 72 6b 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 ed.work.so.as.to.satisfy.simulta
68260 6e 65 6f 75 73 6c 79 20 79 6f 75 72 0a 20 20 20 20 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e neously.your......obligations.un
68280 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 der.this.License.and.any.other.p
682a0 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 0a 20 20 20 20 20 74 68 65 6e 20 ertinent.obligations,......then.
682c0 61 73 20 61 20 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
682e0 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 0a 20 20 20 vey.it.at.all...For.example,....
68300 20 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 6c ..if.you.agree.to.terms.that.obl
68320 69 67 61 74 65 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 igate.you.to.collect.a.royalty.f
68340 6f 72 0a 20 20 20 20 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 or......further.conveying.from.t
68360 68 6f 73 65 20 74 6f 20 77 68 6f 6d 20 79 6f 75 20 63 6f 6e 76 65 79 20 74 68 65 20 50 72 6f 67 hose.to.whom.you.convey.the.Prog
68380 72 61 6d 2c 20 74 68 65 0a 20 20 20 20 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 ram,.the......only.way.you.could
683a0 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 74 68 6f 73 65 20 74 65 72 6d 73 20 61 6e 64 20 74 68 .satisfy.both.those.terms.and.th
683c0 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 0a 20 20 20 20 20 62 65 20 74 6f 20 72 65 66 72 is.License.would......be.to.refr
683e0 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 63 6f 6e 76 65 79 69 6e 67 20 74 68 65 20 ain.entirely.from.conveying.the.
68400 50 72 6f 67 72 61 6d 2e 0a 0a 20 20 31 33 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 Program.....13..Use.with.the.GNU
68420 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 63 65 6e 73 65 2e 0a .Affero.General.Public.License..
68440 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 20 6f 74 68 65 72 20 ......Notwithstanding.any.other.
68460 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 20 79 6f 75 20 68 provision.of.this.License,.you.h
68480 61 76 65 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6c 69 6e 6b 20 6f 72 20 63 ave......permission.to.link.or.c
684a0 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 20 77 ombine.any.covered.work.with.a.w
684c0 6f 72 6b 20 6c 69 63 65 6e 73 65 64 0a 20 20 20 20 20 75 6e 64 65 72 20 76 65 72 73 69 6f 6e 20 ork.licensed......under.version.
684e0 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 20 50 75 62 6c 3.of.the.GNU.Affero.General.Publ
68500 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 63 6f ic.License.into.a......single.co
68520 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
68540 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 0a 20 20 20 20 20 6f esulting.work...The.terms......o
68560 66 20 74 68 69 73 20 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 f.this.License.will.continue.to.
68580 61 70 70 6c 79 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 0a 20 apply.to.the.part.which.is.the..
685a0 20 20 20 20 63 6f 76 65 72 65 64 20 77 6f 72 6b 2c 20 62 75 74 20 74 68 65 20 73 70 65 63 69 61 ....covered.work,.but.the.specia
685c0 6c 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f l.requirements.of.the.GNU.Affero
685e0 0a 20 20 20 20 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 73 65 ......General.Public.License,.se
68600 63 74 69 6f 6e 20 31 33 2c 20 63 6f 6e 63 65 72 6e 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e ction.13,.concerning.interaction
68620 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 61 20 6e 65 74 77 6f 72 6b 20 77 69 6c 6c 20 61 70 70 .through......a.network.will.app
68640 6c 79 20 74 6f 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 61 73 20 73 75 63 68 2e 0a 0a ly.to.the.combination.as.such...
68660 20 20 31 34 2e 20 52 65 76 69 73 65 64 20 56 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c ..14..Revised.Versions.of.this.L
68680 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 icense........The.Free.Software.
686a0 46 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 Foundation.may.publish.revised.a
686c0 6e 64 2f 6f 72 20 6e 65 77 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 nd/or.new......versions.of.the.G
686e0 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 6f 6d 20 74 NU.General.Public.License.from.t
68700 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 0a 20 20 20 20 20 6e 65 77 20 76 65 72 73 ime.to.time...Such......new.vers
68720 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 74 ions.will.be.similar.in.spirit.t
68740 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 0a 20 20 20 20 20 o.the.present.version,.but......
68760 6d 61 79 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 20 may.differ.in.detail.to.address.
68780 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 0a 0a 20 20 20 20 20 new.problems.or.concerns........
687a0 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 75 Each.version.is.given.a.distingu
687c0 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 0a 20 ishing.version.number...If.the..
687e0 20 20 20 20 50 72 6f 67 72 61 6d 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 20 63 65 72 ....Program.specifies.that.a.cer
68800 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 68 65 20 47 4e 55 tain.numbered.version.of.the.GNU
68820 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 e2 80 9c ......General.Public.License....
68840 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e e2 80 9d 20 61 70 70 6c 69 65 73 20 or.any.later.version....applies.
68860 74 6f 20 69 74 2c 20 79 6f 75 0a 20 20 20 20 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 to.it,.you......have.the.option.
68880 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 6f 6e 64 69 of.following.the.terms.and.condi
688a0 74 69 6f 6e 73 20 65 69 74 68 65 72 20 6f 66 0a 20 20 20 20 20 74 68 61 74 20 6e 75 6d 62 65 72 tions.either.of......that.number
688c0 65 64 20 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 ed.version.or.of.any.later.versi
688e0 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 20 20 20 20 20 53 6f on.published.by.the.Free......So
68900 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 50 72 6f 67 72 ftware.Foundation...If.the.Progr
68920 61 6d 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 20 20 am.does.not.specify.a.version...
68940 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ...number.of.the.GNU.General.Pub
68960 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 0a lic.License,.you.may.choose.any.
68980 20 20 20 20 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 .....version.ever.published.by.t
689a0 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 0a 0a 20 20 he.Free.Software.Foundation.....
689c0 20 20 20 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 74 ...If.the.Program.specifies.that
689e0 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 65 .a.proxy.can.decide.which.future
68a00 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 ......versions.of.the.GNU.Genera
68a20 6c 20 50 75 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 l.Public.License.can.be.used,.th
68a40 61 74 0a 20 20 20 20 20 70 72 6f 78 79 e2 80 99 73 20 70 75 62 6c 69 63 20 73 74 61 74 65 6d 65 at......proxy...s.public.stateme
68a60 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 65 nt.of.acceptance.of.a.version.pe
68a80 72 6d 61 6e 65 6e 74 6c 79 0a 20 20 20 20 20 61 75 74 68 6f 72 69 7a 65 73 20 79 6f 75 20 74 6f rmanently......authorizes.you.to
68aa0 20 63 68 6f 6f 73 65 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 50 72 6f .choose.that.version.for.the.Pro
68ac0 67 72 61 6d 2e 0a 0a 20 20 20 20 20 4c 61 74 65 72 20 6c 69 63 65 6e 73 65 20 76 65 72 73 69 6f gram........Later.license.versio
68ae0 6e 73 20 6d 61 79 20 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 ns.may.give.you.additional.or.di
68b00 66 66 65 72 65 6e 74 0a 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 20 20 48 6f 77 65 76 fferent......permissions...Howev
68b20 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 6f 6e 73 20 61 72 er,.no.additional.obligations.ar
68b40 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 61 6e 79 0a 20 20 20 20 20 61 75 74 68 6f 72 20 6f 72 20 e.imposed.on.any......author.or.
68b60 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 20 copyright.holder.as.a.result.of.
68b80 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 20 20 20 20 20 6c your.choosing.to.follow.a......l
68ba0 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 31 35 2e 20 44 69 73 63 6c 61 69 6d 65 72 20 ater.version.....15..Disclaimer.
68bc0 6f 66 20 57 61 72 72 61 6e 74 79 2e 0a 0a 20 20 20 20 20 54 48 45 52 45 20 49 53 20 4e 4f 20 57 of.Warranty........THERE.IS.NO.W
68be0 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 54 4f 20 54 48 45 20 ARRANTY.FOR.THE.PROGRAM,.TO.THE.
68c00 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 0a 20 20 20 20 20 41 50 50 4c 49 43 41 EXTENT.PERMITTED.BY......APPLICA
68c20 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 45 20 BLE.LAW...EXCEPT.WHEN.OTHERWISE.
68c40 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 0a 20 20 20 20 20 43 4f 50 59 52 STATED.IN.WRITING.THE......COPYR
68c60 49 47 48 54 20 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 IGHT.HOLDERS.AND/OR.OTHER.PARTIE
68c80 53 20 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 e2 80 9c 41 53 20 49 53 e2 80 S.PROVIDE.THE.PROGRAM....AS.IS..
68ca0 9d 0a 20 20 20 20 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b .......WITHOUT.WARRANTY.OF.ANY.K
68cc0 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 49 4d 50 4c 49 45 44 IND,.EITHER.EXPRESSED.OR.IMPLIED
68ce0 2c 0a 20 20 20 20 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 ,......INCLUDING,.BUT.NOT.LIMITE
68d00 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 46 0a D.TO,.THE.IMPLIED.WARRANTIES.OF.
68d20 20 20 20 20 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 .....MERCHANTABILITY.AND.FITNESS
68d40 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 54 48 45 20 .FOR.A.PARTICULAR.PURPOSE...THE.
68d60 45 4e 54 49 52 45 0a 20 20 20 20 20 52 49 53 4b 20 41 53 20 54 4f 20 54 48 45 20 51 55 41 4c 49 ENTIRE......RISK.AS.TO.THE.QUALI
68d80 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 52 4f 47 52 41 TY.AND.PERFORMANCE.OF.THE.PROGRA
68da0 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 0a 20 20 20 20 20 53 48 4f 55 4c 44 20 54 48 45 20 50 M.IS.WITH.YOU.......SHOULD.THE.P
68dc0 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 55 ROGRAM.PROVE.DEFECTIVE,.YOU.ASSU
68de0 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 0a 20 20 20 20 20 4e 45 43 45 53 53 41 52 ME.THE.COST.OF.ALL......NECESSAR
68e00 59 20 53 45 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 Y.SERVICING,.REPAIR.OR.CORRECTIO
68e20 4e 2e 0a 0a 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 N.....16..Limitation.of.Liabilit
68e40 79 2e 0a 0a 20 20 20 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 y........IN.NO.EVENT.UNLESS.REQU
68e60 49 52 45 44 20 42 59 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 IRED.BY.APPLICABLE.LAW.OR.AGREED
68e80 20 54 4f 20 49 4e 0a 20 20 20 20 20 57 52 49 54 49 4e 47 20 57 49 4c 4c 20 41 4e 59 20 43 4f 50 .TO.IN......WRITING.WILL.ANY.COP
68ea0 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 45 52 20 50 41 52 54 YRIGHT.HOLDER,.OR.ANY.OTHER.PART
68ec0 59 20 57 48 4f 20 4d 4f 44 49 46 49 45 53 0a 20 20 20 20 20 41 4e 44 2f 4f 52 20 43 4f 4e 56 45 Y.WHO.MODIFIES......AND/OR.CONVE
68ee0 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 4f 56 YS.THE.PROGRAM.AS.PERMITTED.ABOV
68f00 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 46 4f 52 0a 20 20 20 20 20 44 41 4d E,.BE.LIABLE.TO.YOU.FOR......DAM
68f20 41 47 45 53 2c 20 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 AGES,.INCLUDING.ANY.GENERAL,.SPE
68f40 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 0a 20 20 20 20 20 43 4f 4e 53 45 51 55 CIAL,.INCIDENTAL.OR......CONSEQU
68f60 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 4f 46 20 54 48 ENTIAL.DAMAGES.ARISING.OUT.OF.TH
68f80 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 0a 20 20 20 20 20 54 E.USE.OR.INABILITY.TO.USE......T
68fa0 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
68fc0 4d 49 54 45 44 20 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 0a 20 20 MITED.TO.LOSS.OF.DATA.OR.DATA...
68fe0 20 20 20 42 45 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 ...BEING.RENDERED.INACCURATE.OR.
69000 4c 4f 53 53 45 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 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
69020 0a 20 20 20 20 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 ......PARTIES.OR.A.FAILURE.OF.TH
69040 45 20 50 52 4f 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 E.PROGRAM.TO.OPERATE.WITH.ANY.OT
69060 48 45 52 0a 20 20 20 20 20 50 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 HER......PROGRAMS),.EVEN.IF.SUCH
69080 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 .HOLDER.OR.OTHER.PARTY.HAS.BEEN.
690a0 41 44 56 49 53 45 44 20 4f 46 0a 20 20 20 20 20 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 ADVISED.OF......THE.POSSIBILITY.
690c0 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0a 0a 20 20 31 37 2e 20 49 6e 74 65 72 70 72 65 OF.SUCH.DAMAGES.....17..Interpre
690e0 74 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 20 tation.of.Sections.15.and.16....
69100 20 20 20 20 49 66 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 ....If.the.disclaimer.of.warrant
69120 79 20 61 6e 64 20 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 y.and.limitation.of.liability.pr
69140 6f 76 69 64 65 64 0a 20 20 20 20 20 61 62 6f 76 65 20 63 61 6e 6e 6f 74 20 62 65 20 67 69 76 65 ovided......above.cannot.be.give
69160 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 6e 67 20 74 n.local.legal.effect.according.t
69180 6f 20 74 68 65 69 72 20 74 65 72 6d 73 2c 0a 20 20 20 20 20 72 65 76 69 65 77 69 6e 67 20 63 6f o.their.terms,......reviewing.co
691a0 75 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 urts.shall.apply.local.law.that.
691c0 6d 6f 73 74 20 63 6c 6f 73 65 6c 79 0a 20 20 20 20 20 61 70 70 72 6f 78 69 6d 61 74 65 73 20 61 most.closely......approximates.a
691e0 6e 20 61 62 73 6f 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 n.absolute.waiver.of.all.civil.l
69200 69 61 62 69 6c 69 74 79 20 69 6e 0a 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 74 68 iability.in......connection.with
69220 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 75 6e 6c 65 73 73 20 61 20 77 61 72 72 61 6e 74 79 20 .the.Program,.unless.a.warranty.
69240 6f 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 6c 69 61 62 69 6c 69 74 79 20 or.assumption.of......liability.
69260 61 63 63 6f 6d 70 61 6e 69 65 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 accompanies.a.copy.of.the.Progra
69280 6d 20 69 6e 20 72 65 74 75 72 6e 20 66 6f 72 20 61 20 66 65 65 2e 0a 0a 45 4e 44 20 4f 46 20 54 m.in.return.for.a.fee...END.OF.T
692a0 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ERMS.AND.CONDITIONS.============
692c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 ===============..How.to.Apply.Th
692e0 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 67 72 61 6d 73 0a 3d ese.Terms.to.Your.New.Programs.=
69300 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 ================================
69320 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 20 61 20 6e ============..If.you.develop.a.n
69340 65 77 20 70 72 6f 67 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 ew.program,.and.you.want.it.to.b
69360 65 20 6f 66 20 74 68 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 e.of.the.greatest.possible.use.t
69380 6f 20 74 68 65 20 70 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 o.the.public,.the.best.way.to.ac
693a0 68 69 65 76 65 20 74 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 hieve.this.is.to.make.it.free.so
693c0 66 74 77 61 72 65 20 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 ftware.which.everyone.can.redist
693e0 72 69 62 75 74 65 20 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 ribute.and.change.under.these.te
69400 72 6d 73 2e 0a 0a 20 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 20 66 6f rms......To.do.so,.attach.the.fo
69420 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 llowing.notices.to.the.program..
69440 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 74 6f 20 .It.is.safest.to.attach.them.to.
69460 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 6f the.start.of.each.source.file.to
69480 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 73 74 61 74 65 20 74 68 65 20 65 78 63 6c .most.effectively.state.the.excl
694a0 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 usion.of.warranty;.and.each.file
694c0 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 74 68 65 0a e2 80 9c 63 6f 70 .should.have.at.least.the....cop
694e0 79 72 69 67 68 74 e2 80 9d 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 yright....line.and.a.pointer.to.
69500 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 6e 64 2e 0a where.the.full.notice.is.found..
69520 0a 20 20 20 20 20 4f 4e 45 20 4c 49 4e 45 20 54 4f 20 47 49 56 45 20 54 48 45 20 50 52 4f 47 52 ......ONE.LINE.TO.GIVE.THE.PROGR
69540 41 4d 27 53 20 4e 41 4d 45 20 41 4e 44 20 41 20 42 52 49 45 46 20 49 44 45 41 20 4f 46 20 57 48 AM'S.NAME.AND.A.BRIEF.IDEA.OF.WH
69560 41 54 20 49 54 20 44 4f 45 53 2e 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 AT.IT.DOES.......Copyright.(C).Y
69580 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 54 48 4f 52 0a 0a 20 20 20 20 20 54 68 69 73 20 70 72 EAR.NAME.OF.AUTHOR.......This.pr
695a0 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 63 61 6e 20 ogram.is.free.software:.you.can.
695c0 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 79 0a 20 20 redistribute.it.and/or.modify...
695e0 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 74 68 65 20 47 4e 55 ...it.under.the.terms.of.the.GNU
69600 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
69620 73 68 65 64 20 62 79 0a 20 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 shed.by......the.Free.Software.F
69640 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
69660 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 0a 20 20 20 20 20 79 6f 75 72 20 6f 70 74 he.License,.or.(at......your.opt
69680 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 20 20 20 54 68 ion).any.later.version........Th
696a0 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 20 74 68 65 is.program.is.distributed.in.the
696c0 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 2c 20 62 75 .hope.that.it.will.be.useful,.bu
696e0 74 0a 20 20 20 20 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 t......WITHOUT.ANY.WARRANTY;.wit
69700 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 79 20 6f hout.even.the.implied.warranty.o
69720 66 0a 20 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 45 53 f......MERCHANTABILITY.or.FITNES
69740 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 65 65 S.FOR.A.PARTICULAR.PURPOSE...See
69760 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 20 4c 69 63 .the.GNU......General.Public.Lic
69780 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 20 59 6f 75 ense.for.more.details........You
697a0 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.
697c0 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..
697e0 20 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 ....along.with.this.program...If
69800 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
69820 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 icenses/>......Also.add.informat
69840 69 6f 6e 20 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 ion.on.how.to.contact.you.by.ele
69860 63 74 72 6f 6e 69 63 20 61 6e 64 20 70 61 70 65 72 0a 6d 61 69 6c 2e 0a 0a 20 20 20 49 66 20 74 ctronic.and.paper.mail......If.t
69880 68 65 20 70 72 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 he.program.does.terminal.interac
698a0 74 69 6f 6e 2c 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 tion,.make.it.output.a.short.not
698c0 69 63 65 20 6c 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 ice.like.this.when.it.starts.in.
698e0 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 20 20 20 20 50 52 4f 47 52 an.interactive.mode:.......PROGR
69900 41 4d 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 59 45 41 52 20 4e 41 4d 45 20 4f 46 20 41 55 AM.Copyright.(C).YEAR.NAME.OF.AU
69920 54 48 4f 52 0a 20 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 74 THOR......This.program.comes.wit
69940 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 65 h.ABSOLUTELY.NO.WARRANTY;.for.de
69960 74 61 69 6c 73 20 74 79 70 65 20 e2 80 98 73 68 6f 77 20 77 e2 80 99 2e 0a 20 20 20 20 20 54 68 tails.type....show.w..........Th
69980 69 73 20 69 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 is.is.free.software,.and.you.are
699a0 20 77 65 6c 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 .welcome.to.redistribute.it.....
699c0 20 75 6e 64 65 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 .under.certain.conditions;.type.
699e0 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 54 68 ...show.c....for.details......Th
69a00 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 e2 80 98 73 68 6f 77 20 e.hypothetical.commands....show.
69a20 77 e2 80 99 20 61 6e 64 20 e2 80 98 73 68 6f 77 20 63 e2 80 99 20 73 68 6f 75 6c 64 20 73 68 6f w....and....show.c....should.sho
69a40 77 20 74 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 w.the.appropriate.parts.of.the.G
69a60 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 eneral.Public.License...Of.cours
69a80 65 2c 20 79 6f 75 72 0a 70 72 6f 67 72 61 6d e2 80 99 73 20 63 6f 6d 6d 61 6e 64 73 20 6d 69 67 e,.your.program...s.commands.mig
69aa0 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 20 69 6e 74 65 72 ht.be.different;.for.a.GUI.inter
69ac0 66 61 63 65 2c 20 79 6f 75 20 77 6f 75 6c 64 0a 75 73 65 20 61 6e 20 e2 80 9c 61 62 6f 75 74 20 face,.you.would.use.an....about.
69ae0 62 6f 78 e2 80 9d 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 box.........You.should.also.get.
69b00 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 20 your.employer.(if.you.work.as.a.
69b20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 programmer).or.school,.if.any,.t
69b40 6f 20 73 69 67 6e 20 61 20 e2 80 9c 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 o.sign.a....copyright.disclaimer
69b60 e2 80 9d 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 ....for.the.program,.if.necessar
69b80 79 2e 20 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 y...For.more.information.on.this
69ba0 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 0a 74 68 ,.and.how.to.apply.and.follow.th
69bc0 65 20 47 4e 55 20 47 50 4c 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e e.GNU.GPL,.see.<https://www.gnu.
69be0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 20 20 20 54 68 65 20 47 4e 55 20 47 65 6e 65 org/licenses/>......The.GNU.Gene
69c00 72 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 ral.Public.License.does.not.perm
69c20 69 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 it.incorporating.your.program.in
69c40 74 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 to.proprietary.programs...If.you
69c60 72 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 r.program.is.a.subroutine.librar
69c80 79 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 y,.you.may.consider.it.more.usef
69ca0 75 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 ul.to.permit.linking.proprietary
69cc0 0a 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 .applications.with.the.library..
69ce0 20 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 .If.this.is.what.you.want.to.do,
69d00 20 75 73 65 20 74 68 65 0a 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c .use.the.GNU.Lesser.General.Publ
69d20 69 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 ic.License.instead.of.this.Licen
69d40 73 65 2e 20 20 42 75 74 20 66 69 72 73 74 2c 0a 70 6c 65 61 73 65 20 72 65 61 64 20 3c 68 74 74 se...But.first,.please.read.<htt
69d60 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 2d 6e 6f ps://www.gnu.org/licenses/why-no
69d80 74 2d 6c 67 70 6c 2e 68 74 6d 6c 3e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 61 73 68 2e 69 6e 66 6f t-lgpl.html>.....File:.dash.info
69da0 2c 20 20 4e 6f 64 65 3a 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 47 50 4c 2c 20 20 55 70 3a ,..Node:.Index,..Prev:.GPL,..Up:
69dc0 20 54 6f 70 0a 0a 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a .Top..Index.*****....[index..].*
69de0 20 4d 65 6e 75 3a 0a 0a 2a 20 21 63 64 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Menu:..*.!cdr:.................
69e00 20 20 20 20 20 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 .................Destructive.ope
69e20 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.........................
69e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
69e60 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 0a 2a 20 21 63 6f 6e 73 3a 20 20 20 20 20 20 .......(line..16).*.!cons:......
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 44 65 73 74 72 ...........................Destr
69ea0 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 uctive.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 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 2d .................(line...8).*.--
69f00 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >:..............................
69f20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 .....Threading.macros.....(line.
69f40 20 33 35 29 0a 2a 20 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 .35).*.->:......................
69f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 ..............Threading.macros..
69f80 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 3e 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 ...(line...9).*.->>:............
69fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 .......................Threading
69fc0 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 61 6c 6c 3f 3a 20 .macros.....(line..22).*.-all?:.
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 20 ................................
6a000 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 20 35 33 29 0a Predicates...........(line..53).
6a020 2a 20 2d 61 6e 64 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 *.-andfn:.......................
6a040 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...
6a060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a080 20 20 20 20 20 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
6a0a0 6e 65 20 31 38 34 29 0a 2a 20 2d 61 6e 6e 6f 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne.184).*.-annotate:............
6a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 .................Maps...........
6a0e0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 2d 61 6e 79 3f 3a 20 20 20 20 20 20 20 ......(line..84).*.-any?:.......
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 50 72 65 64 69 63 ..........................Predic
6a120 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 31 29 0a 2a 20 2d 61 70 70 ates...........(line..41).*.-app
6a140 6c 69 66 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 lify:...........................
6a160 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 ...Function.combinators.........
6a180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a1a0 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 36 33 .......................(line..63
6a1c0 29 0a 2a 20 2d 61 73 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 ).*.-as->:......................
6a1e0 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 ...........Threading.macros.....
6a200 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 62 75 74 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 (line..49).*.-butlast:..........
6a220 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
6a240 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.......................
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 20 20 20 20 ................................
6a280 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 33 35 29 0a 2a 20 2d 63 6c 6f 6e 65 3a 20 20 20 .........(line.335).*.-clone:...
6a2a0 20 20 20 20 20 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
6a2c0 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 31 32 32 29 0a 2a 20 2d e.operations......(line.122).*.-
6a2e0 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 common-prefix:..................
6a300 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
6a320 20 32 34 32 29 0a 2a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 3a 20 20 20 20 20 20 20 20 20 .242).*.-common-suffix:.........
6a340 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.......
6a360 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 2d 63 6f 6d 70 6f 73 65 3a 20 20 20 20 20 20 ....(line.252).*.-compose:......
6a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
6a3a0 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
6a3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a3e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 39 29 0a 2a 20 2d 63 6f 6e 63 61 74 ............(line..49).*.-concat
6a400 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 :...............................
6a420 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 32 33 29 0a List.to.list.........(line..23).
6a440 2a 20 2d 63 6f 6e 73 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-cons*:.......................
6a460 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..
6a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a4a0 20 20 20 20 20 20 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
6a4c0 69 6e 65 20 20 33 30 29 0a 2a 20 2d 63 6f 6e 73 2d 70 61 69 72 3f 3a 20 20 20 20 20 20 20 20 20 ine..30).*.-cons-pair?:.........
6a4e0 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....
6a500 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 2d 63 6f 6e 73 74 3a 20 20 20 20 20 .......(line.167).*.-const:.....
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 46 75 6e 63 74 ...........................Funct
6a540 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 20 ion.combinators.................
6a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a580 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 63 6f 6e ...............(line.128).*.-con
6a5a0 74 61 69 6e 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 tains?:.........................
6a5c0 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 30 ...Predicates...........(line.10
6a5e0 30 29 0a 2a 20 2d 63 6f 70 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0).*.-copy:.....................
6a600 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Maps................
6a620 20 28 6c 69 6e 65 20 31 33 39 29 0a 2a 20 2d 63 6f 75 6e 74 3a 20 20 20 20 20 20 20 20 20 20 20 .(line.139).*.-count:...........
6a640 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.
6a660 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 32 29 0a 2a 20 2d 63 75 74 3a 20 20 20 20 ..........(line.172).*.-cut:....
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 20 46 75 ..............................Fu
6a6a0 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 20 nction.combinators..............
6a6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a6e0 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 34 30 29 0a 2a 20 2d ..................(line.140).*.-
6a700 63 79 63 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cycle:..........................
6a720 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.....
6a740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
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 28 6c 69 6e 65 ...........................(line
6a780 20 31 38 30 29 0a 2a 20 2d 64 69 66 66 65 72 65 6e 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 .180).*.-difference:............
6a7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 ...............Set.operations...
6a7c0 20 20 20 20 28 6c 69 6e 65 20 20 32 30 29 0a 2a 20 2d 64 69 73 74 69 6e 63 74 3a 20 20 20 20 20 ....(line..20).*.-distinct:.....
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 53 65 74 20 6f 70 65 72 ........................Set.oper
6a800 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 2d 64 6f 74 69 6d ations.......(line..62).*.-dotim
6a820 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es:.............................
6a840 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 38 30 29 .Side.effects.........(line..80)
6a860 0a 2a 20 2d 64 6f 74 6f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-doto:.......................
6a880 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 ..........Threading.macros.....(
6a8a0 6c 69 6e 65 20 20 39 39 29 0a 2a 20 2d 64 72 6f 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line..99).*.-drop:..............
6a8c0 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
6a8e0 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 34 37 29 0a 2a 20 2d 64 72 6f 70 2d 6c 61 73 74 3a tion....(line.147).*.-drop-last:
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 20 53 75 62 6c ............................Subl
6a920 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 36 31 29 0a 2a 20 2d 64 ist.selection....(line.161).*.-d
6a940 72 6f 70 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 rop-while:......................
6a960 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.
6a980 31 39 32 29 0a 2a 20 2d 65 61 63 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 192).*.-each:...................
6a9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 ..............Side.effects......
6a9c0 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 65 61 63 68 2d 69 6e 64 65 78 65 64 3a 20 20 ...(line...8).*.-each-indexed:..
6a9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 .......................Side.effe
6aa00 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 2d 65 61 63 68 2d 72 cts.........(line..38).*.-each-r
6aa20 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 :...............................
6aa40 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 35 32 29 0a Side.effects.........(line..52).
6aa60 2a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-each-r-while:................
6aa80 20 20 20 20 20 20 20 20 20 53 69 64 65 20 65 66 66 65 63 74 73 2e 20 20 20 20 20 20 20 20 28 6c .........Side.effects.........(l
6aaa0 69 6e 65 20 20 36 35 29 0a 2a 20 2d 65 61 63 68 2d 77 68 69 6c 65 3a 20 20 20 20 20 20 20 20 20 ine..65).*.-each-while:.........
6aac0 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..
6aae0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 34 29 0a 2a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 3a .......(line..24).*.-elem-index:
6ab00 20 20 20 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 ...........................Index
6ab20 69 6e 67 2e 20 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 65 6c ing.............(line...9).*.-el
6ab40 65 6d 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 em-indices:.....................
6ab60 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Indexing.............(line..
6ab80 32 31 29 0a 2a 20 2d 65 76 65 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21).*.-every:...................
6aba0 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 .............Predicates.........
6abc0 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 66 69 66 74 68 2d 69 74 65 6d 3a 20 20 20 20 20 ..(line..23).*.-fifth-item:.....
6abe0 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
6ac00 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.....................
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 20 20 ................................
6ac40 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 35 29 0a 2a 20 2d 66 69 6c 74 65 72 3a ...........(line.315).*.-filter:
6ac60 20 20 20 20 20 20 20 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
6ac80 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 20 38 29 0a 2a ublist.selection....(line...8).*
6aca0 20 2d 66 69 6e 64 2d 69 6e 64 65 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-find-index:...................
6acc0 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Indexing.............(li
6ace0 6e 65 20 20 33 32 29 0a 2a 20 2d 66 69 6e 64 2d 69 6e 64 69 63 65 73 3a 20 20 20 20 20 20 20 20 ne..32).*.-find-indices:........
6ad00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 .................Indexing.......
6ad20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 2d 66 69 6e 64 2d 6c 61 73 74 2d 69 6e ......(line..60).*.-find-last-in
6ad40 64 65 78 3a 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 dex:......................Indexi
6ad60 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 36 29 0a 2a 20 2d 66 69 72 ng.............(line..46).*.-fir
6ad80 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st:.............................
6ada0 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........
6adc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6ade0 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 34 ........................(line.24
6ae00 36 29 0a 2a 20 2d 66 69 72 73 74 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6).*.-first-item:...............
6ae20 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
6ae40 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...............................
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 28 6c 69 6e 65 20 32 37 32 29 0a 2a 20 2d 66 69 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(line.272).*.-fix:.............
6aea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 .....................Other.list.
6aec0 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operations......................
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 28 6c 69 6e 65 20 33 37 35 29 0a 2a 20 2d 66 69 78 66 6e 3a 20 20 ..........(line.375).*.-fixfn:..
6af20 20 20 20 20 20 20 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 ..............................Fu
6af40 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 20 nction.combinators..............
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 28 6c 69 6e 65 20 32 32 34 29 0a 2a 20 2d ..................(line.224).*.-
6afa0 66 6c 61 74 74 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 flatten:........................
6afc0 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......List.to.list.........(line
6afe0 20 20 33 34 29 0a 2a 20 2d 66 6c 61 74 74 65 6e 2d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..34).*.-flatten-n:.............
6b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 ...............List.to.list.....
6b020 20 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 2d 66 6c 69 70 3a 20 20 20 20 20 20 20 20 20 ....(line..56).*.-flip:.........
6b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
6b060 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
6b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b0a0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 66 6f 75 72 74 68 ............(line..95).*.-fourth
6b0c0 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -item:..........................
6b0e0 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 Other.list.operations...........
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 28 6c 69 6e 65 20 33 30 35 29 0a .....................(line.305).
6b140 2a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-grade-down:..................
6b160 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 28 6c .........Indexing.............(l
6b180 69 6e 65 20 20 38 31 29 0a 2a 20 2d 67 72 61 64 65 2d 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 ine..81).*.-grade-up:...........
6b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 69 6e 67 2e 20 20 20 20 20 ..................Indexing......
6b1c0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 31 29 0a 2a 20 2d 67 72 6f 75 70 2d 62 79 3a 20 20 .......(line..71).*.-group-by:..
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 20 50 61 72 74 69 ...........................Parti
6b200 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 34 29 0a 2a 20 2d 69 66 tioning.........(line.194).*.-if
6b220 2d 6c 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 -let:...........................
6b240 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Binding..............(line..
6b260 33 34 29 0a 2a 20 2d 69 66 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34).*.-if-let*:.................
6b280 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 .............Binding............
6b2a0 20 20 28 6c 69 6e 65 20 20 34 35 29 0a 2a 20 2d 69 6e 69 74 73 3a 20 20 20 20 20 20 20 20 20 20 ..(line..45).*.-inits:..........
6b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 ......................Reductions
6b2e0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 32 29 0a 2a 20 2d 69 6e 73 65 72 74 2d ...........(line.222).*.-insert-
6b300 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c at:............................L
6b320 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 30 29 0a 2a ist.to.list.........(line.110).*
6b340 20 2d 69 6e 74 65 72 6c 65 61 76 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-interleave:...................
6b360 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 20 ........Other.list.operations...
6b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b3a0 20 20 20 20 20 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
6b3c0 6e 65 20 20 36 37 29 0a 2a 20 2d 69 6e 74 65 72 70 6f 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 ne..67).*.-interpose:...........
6b3e0 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
6b400 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..........................
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 28 6c 69 6e 65 20 20 35 37 29 0a 2a 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e ......(line..57).*.-intersection
6b460 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 65 74 20 6f 70 :.........................Set.op
6b480 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 2d 69 6f 74 erations.......(line..32).*.-iot
6b4a0 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a:..............................
6b4c0 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........
6b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b500 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
6b520 38 29 0a 2a 20 2d 69 73 2d 69 6e 66 69 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.-is-infix?:................
6b540 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..........
6b560 20 28 6c 69 6e 65 20 31 35 33 29 0a 2a 20 2d 69 73 2d 70 72 65 66 69 78 3f 3a 20 20 20 20 20 20 .(line.153).*.-is-prefix?:......
6b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 2e .....................Predicates.
6b5a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 39 29 0a 2a 20 2d 69 73 2d 73 75 66 66 69 ..........(line.129).*.-is-suffi
6b5c0 78 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 x?:...........................Pr
6b5e0 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 34 31 29 0a 2a 20 edicates...........(line.141).*.
6b600 2d 69 74 65 72 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 -iterate:.......................
6b620 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Unfolding............(lin
6b640 65 20 20 20 39 29 0a 2a 20 2d 69 74 65 72 61 74 65 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 e...9).*.-iteratefn:............
6b660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 ................Function.combina
6b680 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tors............................
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 20 20 20 20 20 20 20 20 ................................
6b6c0 20 20 20 20 28 6c 69 6e 65 20 32 30 31 29 0a 2a 20 2d 6a 75 78 74 3a 20 20 20 20 20 20 20 20 20 ....(line.201).*.-juxt:.........
6b6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e ........................Function
6b700 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .combinators....................
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 28 6c 69 6e 65 20 20 33 37 29 0a 2a 20 2d 6b 65 65 70 3a 20 ............(line..37).*.-keep:.
6b760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6b780 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 20 38 29 0a List.to.list.........(line...8).
6b7a0 2a 20 2d 6c 61 6d 62 64 61 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-lambda:......................
6b7c0 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
6b7e0 69 6e 65 20 32 34 37 29 0a 2a 20 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine.247).*.-last:...............
6b800 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
6b820 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.........................
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 20 20 20 20 20 20 ................................
6b860 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 32 29 0a 2a 20 2d 6c 61 73 74 2d 69 74 65 6d 3a 20 .......(line.262).*.-last-item:.
6b880 20 20 20 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
6b8a0 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................
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 28 6c 69 6e 65 20 33 32 35 29 0a 2a 20 2d 6c 65 ................(line.325).*.-le
6b900 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:..............................
6b920 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Binding..............(line..
6b940 36 31 29 0a 2a 20 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61).*.-let*:....................
6b960 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 .............Binding............
6b980 20 20 28 6c 69 6e 65 20 32 32 37 29 0a 2a 20 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ..(line.227).*.-list:...........
6b9a0 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
6b9c0 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.....................
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 20 20 ................................
6ba00 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 38 29 0a 2a 20 2d 6d 61 70 3a 20 20 20 ...........(line.358).*.-map:...
6ba20 20 20 20 20 20 20 20 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
6ba40 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 31 30 29 0a 2a aps.................(line..10).*
6ba60 20 2d 6d 61 70 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 .-map-first:....................
6ba80 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
6baa0 6e 65 20 20 33 38 29 0a 2a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 3a 20 20 20 20 20 20 20 20 20 ne..38).*.-map-indexed:.........
6bac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 .................Maps...........
6bae0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 36 29 0a 2a 20 2d 6d 61 70 2d 6c 61 73 74 3a 20 20 20 ......(line..66).*.-map-last:...
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 20 4d 61 70 73 2e 20 ..........................Maps..
6bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 6d 61 70 ...............(line..52).*.-map
6bb40 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 20 20 -when:..........................
6bb60 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 ...Maps.................(line..2
6bb80 32 29 0a 2a 20 2d 6d 61 70 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2).*.-mapcat:...................
6bba0 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Maps................
6bbc0 20 28 6c 69 6e 65 20 31 32 38 29 0a 2a 20 2d 6d 61 78 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(line.128).*.-max:.............
6bbe0 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.
6bc00 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 36 29 0a 2a 20 2d 6d 61 78 2d 62 79 3a 20 ..........(line.286).*.-max-by:.
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 20 52 65 ..............................Re
6bc40 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 39 36 29 0a 2a 20 ductions...........(line.296).*.
6bc60 2d 6d 69 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 -min:...........................
6bc80 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
6bca0 65 20 32 36 32 29 0a 2a 20 2d 6d 69 6e 2d 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.262).*.-min-by:...............
6bcc0 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......
6bce0 20 20 20 20 20 28 6c 69 6e 65 20 32 37 32 29 0a 2a 20 2d 6e 6f 6e 2d 6e 69 6c 3a 20 20 20 20 20 .....(line.272).*.-non-nil:.....
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 20 53 75 62 6c 69 73 74 .........................Sublist
6bd20 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 20 39 34 29 0a 2a 20 2d 6e 6f 6e 65 .selection....(line..94).*.-none
6bd40 3f 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?:..............................
6bd60 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 20 37 33 ..Predicates...........(line..73
6bd80 29 0a 2a 20 2d 6e 6f 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 ).*.-not:.......................
6bda0 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 2e ...........Function.combinators.
6bdc0 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 ................................
6bde0 20 20 20 20 20 20 20 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 ...............................(
6be00 6c 69 6e 65 20 31 35 33 29 0a 2a 20 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line.153).*.-on:................
6be20 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 62 ...................Function.comb
6be40 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 20 inators.........................
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 28 6c 69 6e 65 20 20 37 35 29 0a 2a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 3a .......(line..75).*.-only-some?:
6bea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 64 69 ...........................Predi
6bec0 63 61 74 65 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 35 29 0a 2a 20 2d 6f 72 cates...........(line..85).*.-or
6bee0 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 20 20 fn:.............................
6bf00 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........
6bf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6bf40 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 36 ........................(line.16
6bf60 37 29 0a 2a 20 2d 70 61 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7).*.-pad:......................
6bf80 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
6bfa0 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...............................
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 28 6c 69 6e 65 20 31 39 31 29 0a 2a 20 2d 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 20 20 .(line.191).*.-partial:.........
6c000 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
6c020 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.......................
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 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e .........(line...8).*.-partition
6c080 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 61 72 :............................Par
6c0a0 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 38 30 29 0a 2a 20 2d titioning.........(line..80).*.-
6c0c0 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 partition-after-item:...........
6c0e0 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Partitioning.........(line
6c100 20 31 38 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 3a 20 20 .184).*.-partition-after-pred:..
6c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 ...............Partitioning.....
6c140 20 20 20 20 28 6c 69 6e 65 20 31 35 31 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 3a ....(line.151).*.-partition-all:
6c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f ........................Partitio
6c180 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 32 29 0a 2a 20 2d 70 61 72 74 69 ning.........(line..92).*.-parti
6c1a0 74 69 6f 6e 2d 61 6c 6c 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion-all-in-steps:..............
6c1c0 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 31 35 29 .Partitioning.........(line.115)
6c1e0 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 3a 20 20 20 20 20 20 .*.-partition-before-item:......
6c200 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 ..........Partitioning.........(
6c220 6c 69 6e 65 20 31 37 34 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 line.174).*.-partition-before-pr
6c240 65 64 3a 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 ed:................Partitioning.
6c260 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 33 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d ........(line.163).*.-partition-
6c280 62 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 by:.........................Part
6c2a0 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 2d 70 itioning.........(line.127).*.-p
6c2c0 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 artition-by-header:.............
6c2e0 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Partitioning.........(line.
6c300 31 33 38 29 0a 2a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 3a 20 20 20 20 20 138).*.-partition-in-steps:.....
6c320 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......
6c340 20 20 20 28 6c 69 6e 65 20 31 30 33 29 0a 2a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 3a 20 20 ...(line.103).*.-permutations:..
6c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 .......................Set.opera
6c380 74 69 6f 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 70 6f 77 65 72 73 tions.......(line..52).*.-powers
6c3a0 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:.............................
6c3c0 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 34 34 29 0a Set.operations.......(line..44).
6c3e0 2a 20 2d 70 72 6f 64 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 *.-prodfn:......................
6c400 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...
6c420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c440 20 20 20 20 20 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
6c460 6e 65 20 32 35 38 29 0a 2a 20 2d 70 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.258).*.-product:.............
6c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 .................Reductions.....
6c4a0 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 31 29 0a 2a 20 2d 72 65 64 75 63 65 3a 20 20 20 20 20 ......(line.201).*.-reduce:.....
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 52 65 64 75 63 74 ..........................Reduct
6c4e0 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 2d 72 65 64 ions...........(line..53).*.-red
6c500 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uce-from:.......................
6c520 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 ...Reductions...........(line...
6c540 38 29 0a 2a 20 2d 72 65 64 75 63 65 2d 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.-reduce-r:.................
6c560 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 ............Reductions..........
6c580 20 28 6c 69 6e 65 20 20 37 32 29 0a 2a 20 2d 72 65 64 75 63 65 2d 72 2d 66 72 6f 6d 3a 20 20 20 .(line..72).*.-reduce-r-from:...
6c5a0 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.
6c5c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f ..........(line..26).*.-reductio
6c5e0 6e 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 ns:...........................Re
6c600 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 33 36 29 0a 2a 20 ductions...........(line.136).*.
6c620 2d 72 65 64 75 63 74 69 6f 6e 73 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -reductions-from:...............
6c640 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
6c660 65 20 31 30 30 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 3a 20 20 20 20 20 20 20 20 20 e.100).*.-reductions-r:.........
6c680 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......
6c6a0 20 20 20 20 20 28 6c 69 6e 65 20 31 35 34 29 0a 2a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 2d .....(line.154).*.-reductions-r-
6c6c0 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 64 75 63 74 69 from:....................Reducti
6c6e0 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 38 29 0a 2a 20 2d 72 65 6d 6f ons...........(line.118).*.-remo
6c700 76 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve:.............................
6c720 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 20 32 36 ..Sublist.selection....(line..26
6c740 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-remove-at:.................
6c760 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 ...........List.to.list.........
6c780 28 6c 69 6e 65 20 31 34 36 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 3a (line.146).*.-remove-at-indices:
6c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 ....................List.to.list
6c7c0 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 39 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 66 69 .........(line.159).*.-remove-fi
6c7e0 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 rst:.........................Sub
6c800 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 34 33 29 0a 2a 20 2d list.selection....(line..43).*.-
6c820 72 65 6d 6f 76 65 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 remove-item:....................
6c840 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 ......Sublist.selection....(line
6c860 20 20 38 33 29 0a 2a 20 2d 72 65 6d 6f 76 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ..83).*.-remove-last:...........
6c880 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 6e ...............Sublist.selection
6c8a0 2e 20 20 20 28 6c 69 6e 65 20 20 36 34 29 0a 2a 20 2d 72 65 70 65 61 74 3a 20 20 20 20 20 20 20 ....(line..64).*.-repeat:.......
6c8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 ........................Other.li
6c8e0 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.operations...................
6c900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6c920 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 39 29 0a 2a 20 2d 72 65 70 6c 61 .............(line..19).*.-repla
6c940 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 20 20 ce:.............................
6c960 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 36 38 29 .List.to.list.........(line..68)
6c980 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-replace-at:.................
6c9a0 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 ..........List.to.list.........(
6c9c0 6c 69 6e 65 20 31 32 31 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 66 69 72 73 74 3a 20 20 20 20 20 line.121).*.-replace-first:.....
6c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e ...................List.to.list.
6ca00 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 32 29 0a 2a 20 2d 72 65 70 6c 61 63 65 2d 6c 61 ........(line..82).*.-replace-la
6ca20 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 4c 69 73 74 st:.........................List
6ca40 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 36 29 0a 2a 20 2d 72 .to.list.........(line..96).*.-r
6ca60 6f 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 otate:..........................
6ca80 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......
6caa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cac0 20 20 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.
6cae0 20 20 38 29 0a 2a 20 2d 72 6f 74 61 74 65 2d 61 72 67 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 ..8).*.-rotate-args:............
6cb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f ..............Function.combinato
6cb20 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs..............................
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 28 6c 69 6e 65 20 31 31 32 29 0a 2a 20 2d 72 70 61 72 74 69 61 6c 3a 20 20 20 20 20 20 20 ..(line.112).*.-rpartial:.......
6cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 63 ......................Function.c
6cba0 6f 6d 62 69 6e 61 74 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ombinators......................
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 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 2d 72 75 6e 6e 69 6e 67 2d ..........(line..22).*.-running-
6cc00 70 72 6f 64 75 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 product:......................Re
6cc20 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 31 31 29 0a 2a 20 ductions...........(line.211).*.
6cc40 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -running-sum:...................
6cc60 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
6cc80 65 20 31 39 30 29 0a 2a 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 3a 20 20 20 20 20 20 20 20 20 20 e.190).*.-same-items?:..........
6cca0 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 20 ................Predicates......
6ccc0 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 0a 2a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 3a 20 .....(line.115).*.-second-item:.
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 20 4f 74 68 65 72 20 6c .........................Other.l
6cd00 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..................
6cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 35 29 0a 2a 20 2d 73 65 6c 65 ..............(line.285).*.-sele
6cd60 63 74 2d 62 79 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 ct-by-indices:..................
6cd80 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 30 38 ..Sublist.selection....(line.208
6cda0 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-select-column:.............
6cdc0 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....
6cde0 28 6c 69 6e 65 20 32 33 38 29 0a 2a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 3a 20 20 20 (line.238).*.-select-columns:...
6ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 ....................Sublist.sele
6ce20 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 32 31 39 29 0a 2a 20 2d 73 65 70 61 72 61 74 65 3a ction....(line.219).*.-separate:
6ce40 20 20 20 20 20 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 .............................Par
6ce60 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 36 39 29 0a 2a 20 2d titioning.........(line..69).*.-
6ce80 73 65 74 71 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 setq:...........................
6cea0 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 69 6e 65 ......Binding..............(line
6cec0 20 32 37 30 29 0a 2a 20 2d 73 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .270).*.-slice:.................
6cee0 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 6e ...............Sublist.selection
6cf00 2e 20 20 20 28 6c 69 6e 65 20 31 30 34 29 0a 2a 20 2d 73 6e 6f 63 3a 20 20 20 20 20 20 20 20 20 ....(line.104).*.-snoc:.........
6cf20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 ........................Other.li
6cf40 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.operations...................
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 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 33 29 0a 2a 20 2d 73 6f 6d 65 3a .............(line..43).*.-some:
6cfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6cfc0 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 20 20 38 29 .Predicates...........(line...8)
6cfe0 0a 2a 20 2d 73 6f 6d 65 2d 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-some-->:....................
6d000 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 ..........Threading.macros.....(
6d020 6c 69 6e 65 20 20 38 36 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 line..86).*.-some->:............
6d040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 ...................Threading.mac
6d060 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 2d 73 6f 6d 65 2d 3e 3e 3a 20 20 ros.....(line..62).*.-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 20 54 68 72 65 ............................Thre
6d0a0 61 64 69 6e 67 20 6d 61 63 72 6f 73 2e 20 20 20 20 28 6c 69 6e 65 20 20 37 34 29 0a 2a 20 2d 73 ading.macros.....(line..74).*.-s
6d0c0 6f 72 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 ort:............................
6d0e0 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......
6d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d120 20 20 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.
6d140 33 34 35 29 0a 2a 20 2d 73 70 6c 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 345).*.-splice:.................
6d160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............Maps..............
6d180 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 3a 20 20 20 ...(line..95).*.-splice-list:...
6d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 61 70 73 2e 20 20 20 20 .......................Maps.....
6d1c0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 35 29 0a 2a 20 2d 73 70 6c 69 74 2d ............(line.115).*.-split-
6d1e0 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 at:.............................
6d200 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 20 38 29 0a Partitioning.........(line...8).
6d220 2a 20 2d 73 70 6c 69 74 2d 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.-split-on:....................
6d240 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
6d260 69 6e 65 20 20 33 34 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 3a 20 20 20 20 20 20 20 20 20 ine..34).*.-split-when:.........
6d280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e 69 6e 67 2e 20 ..................Partitioning..
6d2a0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 73 70 6c 69 74 2d 77 69 74 68 3a .......(line..52).*.-split-with:
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 20 50 61 72 74 69 ...........................Parti
6d2e0 74 69 6f 6e 69 6e 67 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 2d 73 75 tioning.........(line..23).*.-su
6d300 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 20 20 20 m:..............................
6d320 20 20 20 20 52 65 64 75 63 74 69 6f 6e 73 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Reductions...........(line.1
6d340 38 30 29 0a 2a 20 2d 74 61 62 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 80).*.-table:...................
6d360 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
6d380 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..............................
6d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d3c0 20 20 28 6c 69 6e 65 20 32 30 32 29 0a 2a 20 2d 74 61 62 6c 65 2d 66 6c 61 74 3a 20 20 20 20 20 ..(line.202).*.-table-flat:.....
6d3e0 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
6d400 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.....................
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 28 6c 69 6e 65 20 32 32 31 29 0a 2a 20 2d 74 61 69 6c 73 3a 20 ...........(line.221).*.-tails:.
6d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 ...............................R
6d480 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 33 32 29 0a 2a eductions...........(line.232).*
6d4a0 20 2d 74 61 6b 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 .-take:.........................
6d4c0 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 ........Sublist.selection....(li
6d4e0 6e 65 20 31 32 30 29 0a 2a 20 2d 74 61 6b 65 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 ne.120).*.-take-last:...........
6d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 .................Sublist.selecti
6d520 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 33 33 29 0a 2a 20 2d 74 61 6b 65 2d 77 68 69 6c 65 3a 20 on....(line.133).*.-take-while:.
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 20 53 75 62 6c 69 73 ..........................Sublis
6d560 74 20 73 65 6c 65 63 74 69 6f 6e 2e 20 20 20 28 6c 69 6e 65 20 31 37 35 29 0a 2a 20 2d 74 68 69 t.selection....(line.175).*.-thi
6d580 72 64 2d 69 74 65 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rd-item:........................
6d5a0 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........
6d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d5e0 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 39 ........................(line.29
6d600 35 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).*.-tree-map:.................
6d620 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 ............Tree.operations.....
6d640 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 3a 20 20 .(line..28).*.-tree-map-nodes:..
6d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 .....................Tree.operat
6d680 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a 20 2d 74 72 65 65 2d 6d 61 70 ions......(line..39).*.-tree-map
6d6a0 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 54 72 reduce:.......................Tr
6d6c0 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 38 34 29 0a 2a 20 ee.operations......(line..84).*.
6d6e0 2d 74 72 65 65 2d 6d 61 70 72 65 64 75 63 65 2d 66 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 -tree-mapreduce-from:...........
6d700 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e .......Tree.operations......(lin
6d720 65 20 31 30 33 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 3a 20 20 20 20 20 20 20 20 20 20 e.103).*.-tree-reduce:..........
6d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e ................Tree.operations.
6d760 20 20 20 20 20 28 6c 69 6e 65 20 20 35 32 29 0a 2a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 .....(line..52).*.-tree-reduce-f
6d780 72 6f 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 65 65 20 6f 70 rom:.....................Tree.op
6d7a0 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 36 39 29 0a 2a 20 2d 74 72 65 65 erations......(line..69).*.-tree
6d7c0 2d 73 65 71 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 -seq:...........................
6d7e0 20 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 ..Tree.operations......(line...8
6d800 29 0a 2a 20 2d 75 6e 66 6f 6c 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.-unfold:....................
6d820 20 20 20 20 20 20 20 20 20 20 20 55 6e 66 6f 6c 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 20 20 ...........Unfolding............
6d840 28 6c 69 6e 65 20 20 32 35 29 0a 2a 20 2d 75 6e 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 (line..25).*.-union:............
6d860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 70 65 72 61 74 69 6f ....................Set.operatio
6d880 6e 73 2e 20 20 20 20 20 20 28 6c 69 6e 65 20 20 20 38 29 0a 2a 20 2d 75 6e 7a 69 70 3a 20 20 20 ns.......(line...8).*.-unzip:...
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 20 4f 74 68 .............................Oth
6d8c0 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..............
6d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 2d ..................(line.158).*.-
6d920 75 70 64 61 74 65 2d 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 update-at:......................
6d940 20 20 20 20 20 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 2e 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......List.to.list.........(line
6d960 20 31 33 33 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .133).*.-when-let:..............
6d980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e 20 20 20 20 20 20 20 20 20 ...............Binding..........
6d9a0 20 20 20 20 28 6c 69 6e 65 20 20 20 39 29 0a 2a 20 2d 77 68 65 6e 2d 6c 65 74 2a 3a 20 20 20 20 ....(line...9).*.-when-let*:....
6d9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e 64 69 6e 67 2e ........................Binding.
6d9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 2d 7a 69 70 3a 20 .............(line..21).*.-zip:.
6da00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6da20 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 20 .Other.list.operations..........
6da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6da60 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 30 37 29 ......................(line.107)
6da80 0a 2a 20 2d 7a 69 70 2d 66 69 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.-zip-fill:...................
6daa0 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.
6dac0 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 ................................
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 28 ...............................(
6db00 6c 69 6e 65 20 31 35 30 29 0a 2a 20 2d 7a 69 70 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 20 20 20 line.150).*.-zip-lists:.........
6db20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 20 6c 69 73 74 20 6f 70 ...................Other.list.op
6db40 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erations........................
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 28 6c 69 6e 65 20 31 33 31 29 0a 2a 20 2d 7a 69 70 2d 77 69 74 68 3a 20 ........(line.131).*.-zip-with:.
6dba0 20 20 20 20 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 ............................Othe
6dbc0 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 20 r.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 28 6c 69 6e 65 20 20 39 31 29 0a 2a 20 64 61 .................(line..91).*.da
6dc20 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sh-fontify-mode:................
6dc40 20 20 20 20 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 .....Fontification.of.special.va
6dc60 72 69 61 62 6c 65 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 riables.........................
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 20 20 20 20 20 28 6c 69 6e 65 20 20 20 36 29 0a 2a 20 64 61 73 68 2d 72 65 67 69 73 74 65 .......(line...6).*.dash-registe
6dcc0 72 2d 69 6e 66 6f 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 66 6f 20 r-info-lookup:.............Info.
6dce0 73 79 6d 62 6f 6c 20 6c 6f 6f 6b 75 70 2e 20 20 28 6c 69 6e 65 20 20 20 36 29 0a 2a 20 67 6c 6f symbol.lookup...(line...6).*.glo
6dd00 62 61 6c 2d 64 61 73 68 2d 66 6f 6e 74 69 66 79 2d 6d 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 bal-dash-fontify-mode:..........
6dd20 20 20 20 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
6dd40 69 61 62 6c 65 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 iables..........................
6dd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6dd80 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 32 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a ......(line..12).....Tag.Table:.
6dda0 4e 6f 64 65 3a 20 54 6f 70 7f 37 34 32 0a 4e 6f 64 65 3a 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e Node:.Top.742.Node:.Installation
6ddc0 7f 32 33 39 37 0a 4e 6f 64 65 3a 20 55 73 69 6e 67 20 69 6e 20 61 20 70 61 63 6b 61 67 65 7f 33 .2397.Node:.Using.in.a.package.3
6dde0 31 35 39 0a 4e 6f 64 65 3a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 70 65 63 69 159.Node:.Fontification.of.speci
6de00 61 6c 20 76 61 72 69 61 62 6c 65 73 7f 33 35 30 34 0a 4e 6f 64 65 3a 20 49 6e 66 6f 20 73 79 6d al.variables.3504.Node:.Info.sym
6de20 62 6f 6c 20 6c 6f 6f 6b 75 70 7f 34 32 39 34 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 73 7f bol.lookup.4294.Node:.Functions.
6de40 34 38 37 37 0a 4e 6f 64 65 3a 20 4d 61 70 73 7f 36 33 36 31 0a 52 65 66 3a 20 2d 6d 61 70 7f 36 4877.Node:.Maps.6361.Ref:.-map.6
6de60 36 35 38 0a 52 65 66 3a 20 2d 6d 61 70 2d 77 68 65 6e 7f 37 30 33 31 0a 52 65 66 3a 20 2d 6d 61 658.Ref:.-map-when.7031.Ref:.-ma
6de80 70 2d 66 69 72 73 74 7f 37 36 30 36 0a 52 65 66 3a 20 2d 6d 61 70 2d 6c 61 73 74 7f 38 30 38 31 p-first.7606.Ref:.-map-last.8081
6dea0 0a 52 65 66 3a 20 2d 6d 61 70 2d 69 6e 64 65 78 65 64 7f 38 35 35 31 0a 52 65 66 3a 20 2d 61 6e .Ref:.-map-indexed.8551.Ref:.-an
6dec0 6e 6f 74 61 74 65 7f 39 32 33 37 0a 52 65 66 3a 20 2d 73 70 6c 69 63 65 7f 39 37 32 34 0a 52 65 notate.9237.Ref:.-splice.9724.Re
6dee0 66 3a 20 2d 73 70 6c 69 63 65 2d 6c 69 73 74 7f 31 30 35 30 32 0a 52 65 66 3a 20 2d 6d 61 70 63 f:.-splice-list.10502.Ref:.-mapc
6df00 61 74 7f 31 30 39 36 31 0a 52 65 66 3a 20 2d 63 6f 70 79 7f 31 31 33 33 34 0a 4e 6f 64 65 3a 20 at.10961.Ref:.-copy.11334.Node:.
6df20 53 75 62 6c 69 73 74 20 73 65 6c 65 63 74 69 6f 6e 7f 31 31 35 32 32 0a 52 65 66 3a 20 2d 66 69 Sublist.selection.11522.Ref:.-fi
6df40 6c 74 65 72 7f 31 31 37 31 35 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 7f 31 32 32 36 32 0a 52 65 lter.11715.Ref:.-remove.12262.Re
6df60 66 3a 20 2d 72 65 6d 6f 76 65 2d 66 69 72 73 74 7f 31 32 38 30 30 0a 52 65 66 3a 20 2d 72 65 6d f:.-remove-first.12800.Ref:.-rem
6df80 6f 76 65 2d 6c 61 73 74 7f 31 33 36 34 32 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 69 74 65 6d ove-last.13642.Ref:.-remove-item
6dfa0 7f 31 34 33 36 37 0a 52 65 66 3a 20 2d 6e 6f 6e 2d 6e 69 6c 7f 31 34 37 36 37 0a 52 65 66 3a 20 .14367.Ref:.-non-nil.14767.Ref:.
6dfc0 2d 73 6c 69 63 65 7f 31 35 30 34 33 0a 52 65 66 3a 20 2d 74 61 6b 65 7f 31 35 35 37 32 0a 52 65 -slice.15043.Ref:.-take.15572.Re
6dfe0 66 3a 20 2d 74 61 6b 65 2d 6c 61 73 74 7f 31 35 39 37 39 0a 52 65 66 3a 20 2d 64 72 6f 70 7f 31 f:.-take-last.15979.Ref:.-drop.1
6e000 36 34 31 30 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 6c 61 73 74 7f 31 36 38 35 31 0a 52 65 66 3a 20 6410.Ref:.-drop-last.16851.Ref:.
6e020 2d 74 61 6b 65 2d 77 68 69 6c 65 7f 31 37 32 37 37 0a 52 65 66 3a 20 2d 64 72 6f 70 2d 77 68 69 -take-while.17277.Ref:.-drop-whi
6e040 6c 65 7f 31 37 38 39 32 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 62 79 2d 69 6e 64 69 63 65 73 le.17892.Ref:.-select-by-indices
6e060 7f 31 38 35 30 38 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 73 7f 31 39 30 31 .18508.Ref:.-select-columns.1901
6e080 39 0a 52 65 66 3a 20 2d 73 65 6c 65 63 74 2d 63 6f 6c 75 6d 6e 7f 31 39 37 32 32 0a 4e 6f 64 65 9.Ref:.-select-column.19722.Node
6e0a0 3a 20 4c 69 73 74 20 74 6f 20 6c 69 73 74 7f 32 30 31 38 35 0a 52 65 66 3a 20 2d 6b 65 65 70 7f :.List.to.list.20185.Ref:.-keep.
6e0c0 32 30 33 37 37 0a 52 65 66 3a 20 2d 63 6f 6e 63 61 74 7f 32 30 39 34 31 0a 52 65 66 3a 20 2d 66 20377.Ref:.-concat.20941.Ref:.-f
6e0e0 6c 61 74 74 65 6e 7f 32 31 32 33 35 0a 52 65 66 3a 20 2d 66 6c 61 74 74 65 6e 2d 6e 7f 32 31 39 latten.21235.Ref:.-flatten-n.219
6e100 39 31 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 7f 32 32 33 37 35 0a 52 65 66 3a 20 2d 72 65 70 91.Ref:.-replace.22375.Ref:.-rep
6e120 6c 61 63 65 2d 66 69 72 73 74 7f 32 32 38 33 36 0a 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 6c lace-first.22836.Ref:.-replace-l
6e140 61 73 74 7f 32 33 33 33 31 0a 52 65 66 3a 20 2d 69 6e 73 65 72 74 2d 61 74 7f 32 33 38 31 39 0a ast.23331.Ref:.-insert-at.23819.
6e160 52 65 66 3a 20 2d 72 65 70 6c 61 63 65 2d 61 74 7f 32 34 31 34 34 0a 52 65 66 3a 20 2d 75 70 64 Ref:.-replace-at.24144.Ref:.-upd
6e180 61 74 65 2d 61 74 7f 32 34 35 33 31 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 7f 32 35 30 ate-at.24531.Ref:.-remove-at.250
6e1a0 31 39 0a 52 65 66 3a 20 2d 72 65 6d 6f 76 65 2d 61 74 2d 69 6e 64 69 63 65 73 7f 32 35 35 30 34 19.Ref:.-remove-at-indices.25504
6e1c0 0a 4e 6f 64 65 3a 20 52 65 64 75 63 74 69 6f 6e 73 7f 32 36 30 38 33 0a 52 65 66 3a 20 2d 72 65 .Node:.Reductions.26083.Ref:.-re
6e1e0 64 75 63 65 2d 66 72 6f 6d 7f 32 36 32 37 39 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 2d 72 2d 66 duce-from.26279.Ref:.-reduce-r-f
6e200 72 6f 6d 7f 32 37 30 30 33 0a 52 65 66 3a 20 2d 72 65 64 75 63 65 7f 32 38 32 36 36 0a 52 65 66 rom.27003.Ref:.-reduce.28266.Ref
6e220 3a 20 2d 72 65 64 75 63 65 2d 72 7f 32 39 30 31 37 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f :.-reduce-r.29017.Ref:.-reductio
6e240 6e 73 2d 66 72 6f 6d 7f 33 30 32 39 35 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 ns-from.30295.Ref:.-reductions-r
6e260 2d 66 72 6f 6d 7f 33 31 31 30 31 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 7f 33 31 39 -from.31101.Ref:.-reductions.319
6e280 33 31 0a 52 65 66 3a 20 2d 72 65 64 75 63 74 69 6f 6e 73 2d 72 7f 33 32 36 34 32 0a 52 65 66 3a 31.Ref:.-reductions-r.32642.Ref:
6e2a0 20 2d 63 6f 75 6e 74 7f 33 33 33 38 37 0a 52 65 66 3a 20 2d 73 75 6d 7f 33 33 36 31 31 0a 52 65 .-count.33387.Ref:.-sum.33611.Re
6e2c0 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 73 75 6d 7f 33 33 37 39 39 0a 52 65 66 3a 20 2d 70 72 6f 64 f:.-running-sum.33799.Ref:.-prod
6e2e0 75 63 74 7f 33 34 31 32 30 0a 52 65 66 3a 20 2d 72 75 6e 6e 69 6e 67 2d 70 72 6f 64 75 63 74 7f uct.34120.Ref:.-running-product.
6e300 33 34 33 32 38 0a 52 65 66 3a 20 2d 69 6e 69 74 73 7f 33 34 36 36 39 0a 52 65 66 3a 20 2d 74 61 34328.Ref:.-inits.34669.Ref:.-ta
6e320 69 6c 73 7f 33 34 39 31 34 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f 6e 2d 70 72 65 66 69 78 7f 33 35 ils.34914.Ref:.-common-prefix.35
6e340 31 35 38 0a 52 65 66 3a 20 2d 63 6f 6d 6d 6f 6e 2d 73 75 66 66 69 78 7f 33 35 34 35 32 0a 52 65 158.Ref:.-common-suffix.35452.Re
6e360 66 3a 20 2d 6d 69 6e 7f 33 35 37 34 36 0a 52 65 66 3a 20 2d 6d 69 6e 2d 62 79 7f 33 35 39 37 32 f:.-min.35746.Ref:.-min-by.35972
6e380 0a 52 65 66 3a 20 2d 6d 61 78 7f 33 36 34 39 33 0a 52 65 66 3a 20 2d 6d 61 78 2d 62 79 7f 33 36 .Ref:.-max.36493.Ref:.-max-by.36
6e3a0 37 31 38 0a 4e 6f 64 65 3a 20 55 6e 66 6f 6c 64 69 6e 67 7f 33 37 32 34 34 0a 52 65 66 3a 20 2d 718.Node:.Unfolding.37244.Ref:.-
6e3c0 69 74 65 72 61 74 65 7f 33 37 34 38 35 0a 52 65 66 3a 20 2d 75 6e 66 6f 6c 64 7f 33 37 39 33 32 iterate.37485.Ref:.-unfold.37932
6e3e0 0a 4e 6f 64 65 3a 20 50 72 65 64 69 63 61 74 65 73 7f 33 38 37 33 37 0a 52 65 66 3a 20 2d 73 6f .Node:.Predicates.38737.Ref:.-so
6e400 6d 65 7f 33 38 39 31 34 0a 52 65 66 3a 20 2d 65 76 65 72 79 7f 33 39 33 33 31 0a 52 65 66 3a 20 me.38914.Ref:.-every.39331.Ref:.
6e420 2d 61 6e 79 3f 7f 34 30 30 31 30 0a 52 65 66 3a 20 2d 61 6c 6c 3f 7f 34 30 33 34 31 0a 52 65 66 -any?.40010.Ref:.-all?.40341.Ref
6e440 3a 20 2d 6e 6f 6e 65 3f 7f 34 31 30 34 38 0a 52 65 66 3a 20 2d 6f 6e 6c 79 2d 73 6f 6d 65 3f 7f :.-none?.41048.Ref:.-only-some?.
6e460 34 31 33 35 30 0a 52 65 66 3a 20 2d 63 6f 6e 74 61 69 6e 73 3f 7f 34 31 38 33 35 0a 52 65 66 3a 41350.Ref:.-contains?.41835.Ref:
6e480 20 2d 73 61 6d 65 2d 69 74 65 6d 73 3f 7f 34 32 32 32 34 0a 52 65 66 3a 20 2d 69 73 2d 70 72 65 .-same-items?.42224.Ref:.-is-pre
6e4a0 66 69 78 3f 7f 34 32 36 30 39 0a 52 65 66 3a 20 2d 69 73 2d 73 75 66 66 69 78 3f 7f 34 32 39 33 fix?.42609.Ref:.-is-suffix?.4293
6e4c0 35 0a 52 65 66 3a 20 2d 69 73 2d 69 6e 66 69 78 3f 7f 34 33 32 36 31 0a 52 65 66 3a 20 2d 63 6f 5.Ref:.-is-infix?.43261.Ref:.-co
6e4e0 6e 73 2d 70 61 69 72 3f 7f 34 33 36 31 35 0a 4e 6f 64 65 3a 20 50 61 72 74 69 74 69 6f 6e 69 6e ns-pair?.43615.Node:.Partitionin
6e500 67 7f 34 33 39 34 30 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 61 74 7f 34 34 31 32 38 0a 52 65 66 g.43940.Ref:.-split-at.44128.Ref
6e520 3a 20 2d 73 70 6c 69 74 2d 77 69 74 68 7f 34 34 37 39 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d :.-split-with.44792.Ref:.-split-
6e540 6f 6e 7f 34 35 31 39 32 0a 52 65 66 3a 20 2d 73 70 6c 69 74 2d 77 68 65 6e 7f 34 35 38 36 33 0a on.45192.Ref:.-split-when.45863.
6e560 52 65 66 3a 20 2d 73 65 70 61 72 61 74 65 7f 34 36 35 30 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 Ref:.-separate.46500.Ref:.-parti
6e580 74 69 6f 6e 7f 34 36 39 33 39 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 6c 6c 7f 34 tion.46939.Ref:.-partition-all.4
6e5a0 37 33 38 38 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 69 6e 2d 73 74 65 70 73 7f 34 37 7388.Ref:.-partition-in-steps.47
6e5c0 38 31 33 0a 52 65 66 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 813.Ref:.-partition-all-in-steps
6e5e0 7f 34 38 33 30 37 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 7f 34 38 37 38 39 0a .48307.Ref:.-partition-by.48789.
6e600 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 79 2d 68 65 61 64 65 72 7f 34 39 31 36 37 0a Ref:.-partition-by-header.49167.
6e620 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 70 72 65 64 7f 34 39 37 36 38 Ref:.-partition-after-pred.49768
6e640 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 70 72 65 64 7f 35 30 32 .Ref:.-partition-before-pred.502
6e660 31 35 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 62 65 66 6f 72 65 2d 69 74 65 6d 7f 35 15.Ref:.-partition-before-item.5
6e680 30 36 30 30 0a 52 65 66 3a 20 2d 70 61 72 74 69 74 69 6f 6e 2d 61 66 74 65 72 2d 69 74 65 6d 7f 0600.Ref:.-partition-after-item.
6e6a0 35 30 39 30 37 0a 52 65 66 3a 20 2d 67 72 6f 75 70 2d 62 79 7f 35 31 32 30 39 0a 4e 6f 64 65 3a 50907.Ref:.-group-by.51209.Node:
6e6c0 20 49 6e 64 65 78 69 6e 67 7f 35 31 36 34 32 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 65 78 .Indexing.51642.Ref:.-elem-index
6e6e0 7f 35 31 38 34 34 0a 52 65 66 3a 20 2d 65 6c 65 6d 2d 69 6e 64 69 63 65 73 7f 35 32 32 33 39 0a .51844.Ref:.-elem-indices.52239.
6e700 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e 64 65 78 7f 35 32 36 31 39 0a 52 65 66 3a 20 2d 66 69 6e Ref:.-find-index.52619.Ref:.-fin
6e720 64 2d 6c 61 73 74 2d 69 6e 64 65 78 7f 35 33 31 30 38 0a 52 65 66 3a 20 2d 66 69 6e 64 2d 69 6e d-last-index.53108.Ref:.-find-in
6e740 64 69 63 65 73 7f 35 33 36 31 32 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 75 70 7f 35 34 30 31 37 dices.53612.Ref:.-grade-up.54017
6e760 0a 52 65 66 3a 20 2d 67 72 61 64 65 2d 64 6f 77 6e 7f 35 34 34 32 34 0a 4e 6f 64 65 3a 20 53 65 .Ref:.-grade-down.54424.Node:.Se
6e780 74 20 6f 70 65 72 61 74 69 6f 6e 73 7f 35 34 38 33 38 0a 52 65 66 3a 20 2d 75 6e 69 6f 6e 7f 35 t.operations.54838.Ref:.-union.5
6e7a0 35 30 32 31 0a 52 65 66 3a 20 2d 64 69 66 66 65 72 65 6e 63 65 7f 35 35 34 35 39 0a 52 65 66 3a 5021.Ref:.-difference.55459.Ref:
6e7c0 20 2d 69 6e 74 65 72 73 65 63 74 69 6f 6e 7f 35 35 38 37 31 0a 52 65 66 3a 20 2d 70 6f 77 65 72 .-intersection.55871.Ref:.-power
6e7e0 73 65 74 7f 35 36 33 30 33 0a 52 65 66 3a 20 2d 70 65 72 6d 75 74 61 74 69 6f 6e 73 7f 35 36 35 set.56303.Ref:.-permutations.565
6e800 31 33 0a 52 65 66 3a 20 2d 64 69 73 74 69 6e 63 74 7f 35 36 38 30 39 0a 4e 6f 64 65 3a 20 4f 74 13.Ref:.-distinct.56809.Node:.Ot
6e820 68 65 72 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 7f 35 37 31 38 33 0a 52 65 66 3a 20 2d her.list.operations.57183.Ref:.-
6e840 72 6f 74 61 74 65 7f 35 37 34 30 38 0a 52 65 66 3a 20 2d 72 65 70 65 61 74 7f 35 37 37 36 31 0a rotate.57408.Ref:.-repeat.57761.
6e860 52 65 66 3a 20 2d 63 6f 6e 73 2a 7f 35 38 30 34 30 0a 52 65 66 3a 20 2d 73 6e 6f 63 7f 35 38 34 Ref:.-cons*.58040.Ref:.-snoc.584
6e880 35 36 0a 52 65 66 3a 20 2d 69 6e 74 65 72 70 6f 73 65 7f 35 38 38 36 36 0a 52 65 66 3a 20 2d 69 56.Ref:.-interpose.58866.Ref:.-i
6e8a0 6e 74 65 72 6c 65 61 76 65 7f 35 39 31 36 30 0a 52 65 66 3a 20 2d 69 6f 74 61 7f 35 39 35 32 36 nterleave.59160.Ref:.-iota.59526
6e8c0 0a 52 65 66 3a 20 2d 7a 69 70 2d 77 69 74 68 7f 36 30 30 30 39 0a 52 65 66 3a 20 2d 7a 69 70 7f .Ref:.-zip-with.60009.Ref:.-zip.
6e8e0 36 30 37 32 33 0a 52 65 66 3a 20 2d 7a 69 70 2d 6c 69 73 74 73 7f 36 31 35 35 32 0a 52 65 66 3a 60723.Ref:.-zip-lists.61552.Ref:
6e900 20 2d 7a 69 70 2d 66 69 6c 6c 7f 36 32 32 35 30 0a 52 65 66 3a 20 2d 75 6e 7a 69 70 7f 36 32 35 .-zip-fill.62250.Ref:.-unzip.625
6e920 37 32 0a 52 65 66 3a 20 2d 63 79 63 6c 65 7f 36 33 33 31 34 0a 52 65 66 3a 20 2d 70 61 64 7f 36 72.Ref:.-cycle.63314.Ref:.-pad.6
6e940 33 37 31 33 0a 52 65 66 3a 20 2d 74 61 62 6c 65 7f 36 34 30 33 32 0a 52 65 66 3a 20 2d 74 61 62 3713.Ref:.-table.64032.Ref:.-tab
6e960 6c 65 2d 66 6c 61 74 7f 36 34 38 31 38 0a 52 65 66 3a 20 2d 66 69 72 73 74 7f 36 35 38 32 33 0a le-flat.64818.Ref:.-first.65823.
6e980 52 65 66 3a 20 2d 6c 61 73 74 7f 36 36 33 30 39 0a 52 65 66 3a 20 2d 66 69 72 73 74 2d 69 74 65 Ref:.-last.66309.Ref:.-first-ite
6e9a0 6d 7f 36 36 36 34 33 0a 52 65 66 3a 20 2d 73 65 63 6f 6e 64 2d 69 74 65 6d 7f 36 37 30 34 32 0a m.66643.Ref:.-second-item.67042.
6e9c0 52 65 66 3a 20 2d 74 68 69 72 64 2d 69 74 65 6d 7f 36 37 33 30 36 0a 52 65 66 3a 20 2d 66 6f 75 Ref:.-third-item.67306.Ref:.-fou
6e9e0 72 74 68 2d 69 74 65 6d 7f 36 37 35 36 38 0a 52 65 66 3a 20 2d 66 69 66 74 68 2d 69 74 65 6d 7f rth-item.67568.Ref:.-fifth-item.
6ea00 36 37 38 33 34 0a 52 65 66 3a 20 2d 6c 61 73 74 2d 69 74 65 6d 7f 36 38 30 39 36 0a 52 65 66 3a 67834.Ref:.-last-item.68096.Ref:
6ea20 20 2d 62 75 74 6c 61 73 74 7f 36 38 33 38 37 0a 52 65 66 3a 20 2d 73 6f 72 74 7f 36 38 36 33 32 .-butlast.68387.Ref:.-sort.68632
6ea40 0a 52 65 66 3a 20 2d 6c 69 73 74 7f 36 39 31 31 38 0a 52 65 66 3a 20 2d 66 69 78 7f 36 39 36 38 .Ref:.-list.69118.Ref:.-fix.6968
6ea60 37 0a 4e 6f 64 65 3a 20 54 72 65 65 20 6f 70 65 72 61 74 69 6f 6e 73 7f 37 30 31 37 36 0a 52 65 7.Node:.Tree.operations.70176.Re
6ea80 66 3a 20 2d 74 72 65 65 2d 73 65 71 7f 37 30 33 37 32 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 f:.-tree-seq.70372.Ref:.-tree-ma
6eaa0 70 7f 37 31 32 32 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 70 2d 6e 6f 64 65 73 7f 37 31 36 p.71227.Ref:.-tree-map-nodes.716
6eac0 36 37 0a 52 65 66 3a 20 2d 74 72 65 65 2d 72 65 64 75 63 65 7f 37 32 35 31 34 0a 52 65 66 3a 20 67.Ref:.-tree-reduce.72514.Ref:.
6eae0 2d 74 72 65 65 2d 72 65 64 75 63 65 2d 66 72 6f 6d 7f 37 33 33 39 36 0a 52 65 66 3a 20 2d 74 72 -tree-reduce-from.73396.Ref:.-tr
6eb00 65 65 2d 6d 61 70 72 65 64 75 63 65 7f 37 33 39 39 36 0a 52 65 66 3a 20 2d 74 72 65 65 2d 6d 61 ee-mapreduce.73996.Ref:.-tree-ma
6eb20 70 72 65 64 75 63 65 2d 66 72 6f 6d 7f 37 34 38 35 35 0a 52 65 66 3a 20 2d 63 6c 6f 6e 65 7f 37 preduce-from.74855.Ref:.-clone.7
6eb40 36 31 34 30 0a 4e 6f 64 65 3a 20 54 68 72 65 61 64 69 6e 67 20 6d 61 63 72 6f 73 7f 37 36 34 36 6140.Node:.Threading.macros.7646
6eb60 37 0a 52 65 66 3a 20 2d 3e 7f 37 36 36 39 32 0a 52 65 66 3a 20 2d 3e 3e 7f 37 37 31 38 30 0a 52 7.Ref:.->.76692.Ref:.->>.77180.R
6eb80 65 66 3a 20 2d 2d 3e 7f 37 37 36 38 33 0a 52 65 66 3a 20 2d 61 73 2d 3e 7f 37 38 32 33 39 0a 52 ef:.-->.77683.Ref:.-as->.78239.R
6eba0 65 66 3a 20 2d 73 6f 6d 65 2d 3e 7f 37 38 36 39 33 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 3e 3e 7f ef:.-some->.78693.Ref:.-some->>.
6ebc0 37 39 30 36 36 0a 52 65 66 3a 20 2d 73 6f 6d 65 2d 2d 3e 7f 37 39 35 30 31 0a 52 65 66 3a 20 2d 79066.Ref:.-some-->.79501.Ref:.-
6ebe0 64 6f 74 6f 7f 38 30 30 35 30 0a 4e 6f 64 65 3a 20 42 69 6e 64 69 6e 67 7f 38 30 36 30 33 0a 52 doto.80050.Node:.Binding.80603.R
6ec00 65 66 3a 20 2d 77 68 65 6e 2d 6c 65 74 7f 38 30 38 31 30 0a 52 65 66 3a 20 2d 77 68 65 6e 2d 6c ef:.-when-let.80810.Ref:.-when-l
6ec20 65 74 2a 7f 38 31 32 36 35 0a 52 65 66 3a 20 2d 69 66 2d 6c 65 74 7f 38 31 37 38 38 0a 52 65 66 et*.81265.Ref:.-if-let.81788.Ref
6ec40 3a 20 2d 69 66 2d 6c 65 74 2a 7f 38 32 31 34 38 0a 52 65 66 3a 20 2d 6c 65 74 7f 38 32 37 36 35 :.-if-let*.82148.Ref:.-let.82765
6ec60 0a 52 65 66 3a 20 2d 6c 65 74 2a 7f 38 38 38 33 37 0a 52 65 66 3a 20 2d 6c 61 6d 62 64 61 7f 38 .Ref:.-let*.88837.Ref:.-lambda.8
6ec80 39 37 37 34 0a 52 65 66 3a 20 2d 73 65 74 71 7f 39 30 35 38 30 0a 4e 6f 64 65 3a 20 53 69 64 65 9774.Ref:.-setq.90580.Node:.Side
6eca0 20 65 66 66 65 63 74 73 7f 39 31 33 38 31 0a 52 65 66 3a 20 2d 65 61 63 68 7f 39 31 35 37 35 0a .effects.91381.Ref:.-each.91575.
6ecc0 52 65 66 3a 20 2d 65 61 63 68 2d 77 68 69 6c 65 7f 39 32 30 39 36 0a 52 65 66 3a 20 2d 65 61 63 Ref:.-each-while.92096.Ref:.-eac
6ece0 68 2d 69 6e 64 65 78 65 64 7f 39 32 36 39 38 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 7f 39 33 32 h-indexed.92698.Ref:.-each-r.932
6ed00 38 34 0a 52 65 66 3a 20 2d 65 61 63 68 2d 72 2d 77 68 69 6c 65 7f 39 33 37 32 30 0a 52 65 66 3a 84.Ref:.-each-r-while.93720.Ref:
6ed20 20 2d 64 6f 74 69 6d 65 73 7f 39 34 33 34 36 0a 4e 6f 64 65 3a 20 44 65 73 74 72 75 63 74 69 76 .-dotimes.94346.Node:.Destructiv
6ed40 65 20 6f 70 65 72 61 74 69 6f 6e 73 7f 39 34 38 39 39 0a 52 65 66 3a 20 21 63 6f 6e 73 7f 39 35 e.operations.94899.Ref:.!cons.95
6ed60 31 31 37 0a 52 65 66 3a 20 21 63 64 72 7f 39 35 33 32 31 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 117.Ref:.!cdr.95321.Node:.Functi
6ed80 6f 6e 20 63 6f 6d 62 69 6e 61 74 6f 72 73 7f 39 35 35 31 34 0a 52 65 66 3a 20 2d 70 61 72 74 69 on.combinators.95514.Ref:.-parti
6eda0 61 6c 7f 39 35 37 31 38 0a 52 65 66 3a 20 2d 72 70 61 72 74 69 61 6c 7f 39 36 32 33 36 0a 52 65 al.95718.Ref:.-rpartial.96236.Re
6edc0 66 3a 20 2d 6a 75 78 74 7f 39 36 38 38 34 0a 52 65 66 3a 20 2d 63 6f 6d 70 6f 73 65 7f 39 37 33 f:.-juxt.96884.Ref:.-compose.973
6ede0 33 36 0a 52 65 66 3a 20 2d 61 70 70 6c 69 66 79 7f 39 37 39 34 33 0a 52 65 66 3a 20 2d 6f 6e 7f 36.Ref:.-applify.97943.Ref:.-on.
6ee00 39 38 33 37 33 0a 52 65 66 3a 20 2d 66 6c 69 70 7f 39 39 31 34 35 0a 52 65 66 3a 20 2d 72 6f 74 98373.Ref:.-flip.99145.Ref:.-rot
6ee20 61 74 65 2d 61 72 67 73 7f 39 39 36 36 39 0a 52 65 66 3a 20 2d 63 6f 6e 73 74 7f 31 30 30 32 39 ate-args.99669.Ref:.-const.10029
6ee40 38 0a 52 65 66 3a 20 2d 63 75 74 7f 31 30 30 36 34 30 0a 52 65 66 3a 20 2d 6e 6f 74 7f 31 30 31 8.Ref:.-cut.100640.Ref:.-not.101
6ee60 31 32 30 0a 52 65 66 3a 20 2d 6f 72 66 6e 7f 31 30 31 36 34 36 0a 52 65 66 3a 20 2d 61 6e 64 66 120.Ref:.-orfn.101646.Ref:.-andf
6ee80 6e 7f 31 30 32 34 30 38 0a 52 65 66 3a 20 2d 69 74 65 72 61 74 65 66 6e 7f 31 30 33 31 36 34 0a n.102408.Ref:.-iteratefn.103164.
6eea0 52 65 66 3a 20 2d 66 69 78 66 6e 7f 31 30 33 38 36 36 0a 52 65 66 3a 20 2d 70 72 6f 64 66 6e 7f Ref:.-fixfn.103866.Ref:.-prodfn.
6eec0 31 30 35 34 32 32 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 7f 31 30 36 34 38 30 0a 105422.Node:.Development.106480.
6eee0 4e 6f 64 65 3a 20 43 6f 6e 74 72 69 62 75 74 65 7f 31 30 36 37 36 39 0a 4e 6f 64 65 3a 20 43 6f Node:.Contribute.106769.Node:.Co
6ef00 6e 74 72 69 62 75 74 6f 72 73 7f 31 30 37 37 38 31 0a 4e 6f 64 65 3a 20 46 44 4c 7f 31 30 39 38 ntributors.107781.Node:.FDL.1098
6ef20 37 34 0a 4e 6f 64 65 3a 20 47 50 4c 7f 31 33 35 31 39 34 0a 4e 6f 64 65 3a 20 49 6e 64 65 78 7f 74.Node:.GPL.135194.Node:.Index.
6ef40 31 37 32 39 34 33 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 172943...End.Tag.Table....Local.
6ef60 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 Variables:.coding:.utf-8.End:...
6ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f000 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.................
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 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
6f080 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...
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 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...................
6f120 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...................
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 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
6f220 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
6f240 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
6f260 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
6f280 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
6f2a0 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
6f2c0 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
6f2e0 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
6f300 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
6f320 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
6f340 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,.
6f360 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
6f380 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
6f3a0 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
6f3c0 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.
6f3e0 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
6f400 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
6f420 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).........
6f440 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
6f460 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.........................
6f480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f600 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.........
6f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f660 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
6f680 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...
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 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...................
6f720 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...................
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 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/*...........................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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............
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 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
6fa80 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...
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 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...................
6fb20 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...................
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 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
6fc20 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
6fc40 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
6fc60 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
6fc80 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
6fca0 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
6fcc0 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.
6fce0 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
6fd00 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.#.
6fd20 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
6fd40 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
6fd60 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.
6fd80 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
6fda0 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
6fdc0 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
6fde0 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..
6fe00 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
6fe20 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.
6fe40 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
6fe60 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.#.
6fe80 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
6fea0 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
6fec0 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
6fee0 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
6ff00 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
6ff20 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
6ff40 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.
6ff60 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
6ff80 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/*.
6ffa0 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)
6ffc0 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
6ffe0 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
70000 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.
70020 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
70040 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.
70060 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
70080 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").
700a0 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
700c0 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
700e0 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
70100 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
70120 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
70140 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
70160 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
70180 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
701a0 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
701c0 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..
701e0 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
70200 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
70220 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
70240 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.
70260 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
70280 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
702a0 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
702c0 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.$
702e0 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)
70300 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
70320 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.:=.'(
70340 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.
70360 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.
70380 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.
703a0 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.$
703c0 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.$<.
703e0 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...............
70400 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................
70420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70460 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
70480 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...
704a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
704c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
704e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70500 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...................
70520 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...................
70540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
705a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
705c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
705e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70600 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")........
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...........
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 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
70880 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...
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 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...................
70920 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...................
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 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
70a20 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
70a40 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.
70a60 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
70a80 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
70aa0 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.
70ac0 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
70ae0 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
70b00 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
70b20 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
70b40 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
70b60 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
70b80 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
70ba0 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
70bc0 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
70be0 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
70c00 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
70c20 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
70c40 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
70c60 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
70c80 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
70ca0 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
70cc0 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.
70ce0 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)...*
70d00 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
70d20 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
70d40 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
70d60 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]
70d80 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](#
70da0 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
70dc0 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
70de0 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
70e00 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
70e20 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
70e40 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
70e60 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
70e80 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
70ea0 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.
70ec0 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
70ee0 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.
70f00 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
70f20 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.
70f40 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
70f60 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
70f80 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
70fa0 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
70fc0 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...
70fe0 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
71000 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
71020 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:
71040 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
71060 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
71080 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.
710a0 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`:......
710c0 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
710e0 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
71100 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/
71120 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/
71140 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)
71160 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
71180 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
711a0 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
711c0 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
711e0 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
71200 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)
71220 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
71240 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
71260 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
71280 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.[`
712a0 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")
712c0 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
712e0 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
71300 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
71320 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
71340 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
71360 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
71380 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
713a0 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.
713c0 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
713e0 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
71400 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.
71420 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
71440 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
71460 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.
71480 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
714a0 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
714c0 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
714e0 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
71500 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
71520 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
71540 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
71560 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
71580 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
715a0 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.
715c0 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
715e0 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
71600 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
71620 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
71640 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
71660 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
71680 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,
716a0 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
716c0 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:..```
716e0 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
71700 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
71720 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
71740 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
71760 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.
71780 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.
717a0 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
717c0 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
717e0 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
71800 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
71820 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
71840 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
71860 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`
71880 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
718a0 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
718c0 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
718e0 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
71900 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)
71920 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
71940 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
71960 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.
71980 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
719a0 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.
719c0 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
719e0 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
71a00 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)).```..
71a20 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
71a40 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
71a60 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
71a80 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
71aa0 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
71ac0 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
71ae0 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
71b00 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
71b20 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
71b40 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`](#-
71b60 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
71b80 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
71ba0 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
71bc0 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
71be0 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
71c00 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
71c20 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
71c40 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).`(
71c60 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
71c80 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)
71ca0 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
71cc0 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
71ce0 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
71d00 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
71d20 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)`..###
71d40 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
71d60 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
71d80 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-
71da0 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
71dc0 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
71de0 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
71e00 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
71e20 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
71e40 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)`.*
71e60 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-
71e80 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
71ea0 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)`
71ec0 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-
71ee0 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
71f00 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`](#-
71f20 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
71f40 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
71f60 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
71f80 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`](#
71fa0 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)`.*.
71fc0 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
71fe0 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-
72000 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).
72020 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
72040 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
72060 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
72080 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
720a0 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)
720c0 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-
720e0 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
72100 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
72120 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.
72140 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
72160 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
72180 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
721a0 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
721c0 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`](#
721e0 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)
72200 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
72220 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
72240 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
72260 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)`.*.
72280 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
722a0 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)`.
722c0 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
722e0 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
72300 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
72320 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
72340 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
72360 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
72380 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-
723a0 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
723c0 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)`.
723e0 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
72400 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
72420 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
72440 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
72460 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
72480 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
724a0 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)`.*.[
724c0 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
724e0 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
72500 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
72520 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
72540 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)`
72560 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
72580 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
725a0 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`](#
725c0 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)`
725e0 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
72600 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
72620 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.
72640 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).`(
72660 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
72680 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
726a0 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)`.*
726c0 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-
726e0 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
72700 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)`.*.[`-
72720 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)`.*
72740 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
72760 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)`.
72780 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
727a0 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)`
727c0 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)`
727e0 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
72800 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)`.*.[
72820 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)`.*.[
72840 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
72860 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
72880 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
728a0 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
728c0 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
728e0 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.
72900 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
72920 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
72940 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
72960 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.
72980 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
729a0 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
729c0 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
729e0 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
72a00 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)
72a20 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
72a40 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
72a60 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.
72a80 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-
72aa0 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)`.*.
72ac0 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
72ae0 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
72b00 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
72b20 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
72b40 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).`
72b60 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?`]
72b80 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
72ba0 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-
72bc0 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)`
72be0 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
72c00 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
72c20 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.
72c40 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...*.[`
72c60 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).`
72c80 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
72ca0 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)
72cc0 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
72ce0 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
72d00 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).`(
72d20 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
72d40 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)`.*.
72d60 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
72d80 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
72da0 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
72dc0 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`](
72de0 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
72e00 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
72e20 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-
72e40 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
72e60 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
72e80 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)`.*.
72ea0 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
72ec0 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
72ee0 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`](
72f00 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
72f20 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
72f40 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-
72f60 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)`.*.
72f80 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
72fa0 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).`(
72fc0 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
72fe0 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
73000 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
73020 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
73040 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
73060 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.
73080 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
730a0 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
730c0 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)`.*.
730e0 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
73100 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
73120 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
73140 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
73160 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-
73180 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
731a0 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
731c0 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`](
731e0 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
73200 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`
73220 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).
73240 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
73260 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
73280 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
732a0 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)`.
732c0 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
732e0 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
73300 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
73320 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
73340 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)
73360 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
73380 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
733a0 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)`..#
733c0 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.
733e0 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
73400 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`
73420 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)`.*.
73440 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)
73460 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)
73480 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
734a0 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
734c0 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
734e0 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).
73500 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`](#
73520 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.
73540 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
73560 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
73580 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
735a0 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).
735c0 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`](#-
735e0 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)`.
73600 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
73620 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
73640 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
73660 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
73680 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
736a0 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
736c0 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
736e0 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
73700 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`](
73720 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
73740 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
73760 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
73780 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-
737a0 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
737c0 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
737e0 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
73800 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
73820 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
73840 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
73860 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
73880 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)`
738a0 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-
738c0 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`](
738e0 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)`.*.[`-
73900 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
73920 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
73940 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)`.*.[`-
73960 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)`.*.[`-
73980 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)`
739a0 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
739c0 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...*.
739e0 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-
73a00 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
73a20 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
73a40 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
73a60 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
73a80 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)`.
73aa0 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
73ac0 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-
73ae0 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
73b00 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
73b20 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`
73b40 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
73b60 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-
73b80 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
73ba0 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
73bc0 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)`.
73be0 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
73c00 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
73c20 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
73c40 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
73c60 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
73c80 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.
73ca0 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
73cc0 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
73ce0 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)`.*.[`--
73d00 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.
73d20 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-
73d40 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
73d60 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->`
73d80 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
73da0 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
73dc0 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
73de0 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
73e00 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
73e20 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).
73e40 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`]
73e60 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.
73e80 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
73ea0 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*`
73ec0 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
73ee0 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
73f00 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)
73f20 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*`](#
73f40 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).`
73f60 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-
73f80 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
73fa0 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
73fc0 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
73fe0 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
74000 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`](
74020 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
74040 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
74060 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.&
74080 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
740a0 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
740c0 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`](#
740e0 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
74100 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
74120 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
74140 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
74160 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)`.
74180 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
741a0 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)`.*.
741c0 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
741e0 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-
74200 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)
74220 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
74240 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
74260 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
74280 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
742a0 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.
742c0 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
742e0 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)`
74300 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)`.
74320 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
74340 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
74360 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`
74380 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
743a0 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`](#-
743c0 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
743e0 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
74400 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
74420 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
74440 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
74460 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
74480 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
744a0 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`](
744c0 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)`.*.[
744e0 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)`.*.[`-
74500 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
74520 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)
74540 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
74560 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
74580 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
745a0 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
745c0 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
745e0 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
74600 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
74620 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`]
74640 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)
74660 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
74680 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
746a0 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
746c0 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
746e0 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
74700 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.
74720 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
74740 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
74760 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
74780 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
747a0 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
747c0 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).
747e0 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)).;;.=>.(
74800 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))
74820 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
74840 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).`
74860 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
74880 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
748a0 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
748c0 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
748e0 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
74900 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
74920 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.
74940 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
74960 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
74980 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).
749a0 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
749c0 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).(-
749e0 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
74a00 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
74a20 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)).;;
74a40 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
74a60 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
74a80 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.`
74aa0 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
74ac0 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
74ae0 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
74b00 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
74b20 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
74b40 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
74b60 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.
74b80 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)).;
74ba0 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
74bc0 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.
74be0 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.
74c00 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
74c20 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
74c40 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
74c60 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
74c80 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
74ca0 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
74cc0 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?.
74ce0 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
74d00 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.
74d20 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)
74d40 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
74d60 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).```..####.
74d80 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.
74da0 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.`
74dc0 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
74de0 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
74e00 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
74e20 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
74e40 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
74e60 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
74e80 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
74ea0 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
74ec0 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
74ee0 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)..
74f00 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
74f20 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.
74f40 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
74f60 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))
74f80 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.#
74fa0 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).
74fc0 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)`.
74fe0 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
75000 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.
75020 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
75040 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
75060 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
75080 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..
750a0 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"."
750c0 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"
750e0 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
75100 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
75120 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)).;;.=>.(
75140 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..
75160 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
75180 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
751a0 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
751c0 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`
751e0 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
75200 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.
75220 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.`,@`.
75240 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
75260 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
75280 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
752a0 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
752c0 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
752e0 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)..`
75300 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)
75320 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)).;;.=>.(
75340 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.
75360 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.
75380 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.:
753a0 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
753c0 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))
753e0 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).(
75400 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)).```..####
75420 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
75440 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
75460 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.
75480 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`](#
754a0 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
754c0 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)..``
754e0 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.
75500 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
75520 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.
75540 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
75560 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).'
75580 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).``
755a0 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
755c0 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
755e0 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`.
75600 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
75620 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.
75640 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
75660 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)).'
75680 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).(--
756a0 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)).;;.
756c0 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
756e0 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
75700 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.
75720 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
75740 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
75760 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
75780 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
757a0 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.`
757c0 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.
757e0 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
75800 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:
75820 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
75840 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`
75860 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
75880 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
758a0 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
758c0 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)
758e0 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)).;;
75900 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.'(-
75920 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
75940 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)).
75960 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.`(
75980 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
759a0 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.
759c0 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
759e0 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
75a00 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
75a20 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.[
75a40 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.[`-
75a60 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)...`
75a80 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
75aa0 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)).;;.=>.(
75ac0 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.
75ae0 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.
75b00 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)).;;.=>
75b20 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.`
75b40 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
75b60 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`
75b80 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-
75ba0 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.
75bc0 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
75be0 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
75c00 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
75c20 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
75c40 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
75c60 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
75c80 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
75ca0 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.[`-
75cc0 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
75ce0 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
75d00 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
75d20 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)
75d40 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
75d60 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
75d80 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
75da0 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
75dc0 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
75de0 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
75e00 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
75e20 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
75e40 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
75e60 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
75e80 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
75ea0 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
75ec0 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
75ee0 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.`--
75f00 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
75f20 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),
75f40 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-
75f60 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`
75f80 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)...``
75fa0 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.
75fc0 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.
75fe0 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
76000 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")).;;.=>
76020 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.(>.
76040 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)).;
76060 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).```..##
76080 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
760a0 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.
760c0 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
760e0 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
76100 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
76120 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)
76140 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
76160 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
76180 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
761a0 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").
761c0 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
761e0 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
76200 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
76220 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.
76240 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-
76260 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
76280 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
762a0 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
762c0 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
762e0 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.
76300 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
76320 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
76340 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
76360 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,
76380 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.
763a0 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...
763c0 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.'(
763e0 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).(-
76400 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
76420 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.
76440 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).```..
76460 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.
76480 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.`
764a0 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
764c0 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
764e0 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
76500 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`](#
76520 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
76540 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).
76560 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
76580 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))
765a0 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.`
765c0 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.
765e0 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
76600 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
76620 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
76640 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.
76660 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
76680 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
766a0 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
766c0 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
766e0 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)
76700 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.
76720 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
76740 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
76760 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`
76780 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
767a0 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
767c0 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
767e0 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-
76800 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
76820 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
76840 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
76860 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).```..
76880 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
768a0 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.
768c0 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
768e0 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..
76900 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
76920 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:.[`-
76940 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.(-
76960 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)).;;.=>.
76980 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
769a0 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.
769c0 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).```..#
769e0 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
76a00 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`
76a20 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
76a40 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
76a60 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
76a80 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.
76aa0 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`
76ac0 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
76ae0 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
76b00 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
76b20 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
76b40 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
76b60 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)).;;.=
76b80 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.
76ba0 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.
76bc0 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)).;;.=>
76be0 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.`
76c00 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
76c20 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`
76c40 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
76c60 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.
76c80 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`.
76ca0 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.
76cc0 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
76ce0 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
76d00 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
76d20 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
76d40 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)..
76d60 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.
76d80 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
76da0 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)).;;.=>.(
76dc0 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.
76de0 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).``
76e00 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
76e20 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
76e40 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
76e60 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
76e80 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.(
76ea0 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)
76ec0 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"."
76ee0 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".
76f00 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
76f20 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")).;;
76f40 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
76f60 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"."
76f80 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".
76fa0 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").```..####.-
76fc0 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)`
76fe0 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`.
77000 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
77020 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
77040 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
77060 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
77080 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
770a0 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
770c0 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
770e0 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
77100 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
77120 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
77140 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.
77160 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).(
77180 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.'
771a0 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)
771c0 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
771e0 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).(
77200 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).
77220 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
77240 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.
77260 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
77280 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
772a0 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
772c0 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
772e0 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.
77300 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-
77320 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
77340 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`
77360 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
77380 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.'((
773a0 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))).;;.=
773c0 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.
773e0 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.
77400 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
77420 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
77440 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
77460 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
77480 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
774a0 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
774c0 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.
774e0 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`
77500 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.
77520 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.'(
77540 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)
77560 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.(>
77580 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))
775a0 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.(
775c0 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
775e0 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
77600 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.
77620 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.
77640 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.
77660 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)).;
77680 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)).;;.
776a0 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).'(
776c0 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
776e0 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
77700 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.
77720 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.
77740 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.
77760 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)
77780 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
777a0 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
777c0 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
777e0 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-
77800 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
77820 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
77840 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
77860 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
77880 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
778a0 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
778c0 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.'(
778e0 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.(
77900 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
77920 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))).
77940 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
77960 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.`
77980 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`..
779a0 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
779c0 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
779e0 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.(
77a00 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
77a20 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
77a40 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
77a60 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
77a80 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
77aa0 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
77ac0 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
77ae0 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`.
77b00 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
77b20 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
77b40 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)).;;.=
77b60 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.
77b80 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"."
77ba0 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")).;;.=>.
77bc0 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
77be0 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).;
77c00 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
77c20 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.
77c40 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.`
77c60 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
77c80 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:
77ca0 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
77cc0 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
77ce0 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)).;;.=>.
77d00 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
77d20 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"
77d40 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")).;;.=
77d60 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"."
77d80 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.
77da0 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
77dc0 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
77de0 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`.
77e00 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.
77e20 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
77e40 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-
77e60 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-
77e80 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)).;;.
77ea0 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
77ec0 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
77ee0 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")).;;
77f00 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"
77f20 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
77f40 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
77f60 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
77f80 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`
77fa0 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:.[`-
77fc0 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)
77fe0 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
78000 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
78020 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.
78040 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
78060 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
78080 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.
780a0 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
780c0 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`.
780e0 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
78100 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
78120 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)).;;.=>.(
78140 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.'(
78160 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
78180 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
781a0 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).```..####
781c0 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
781e0 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
78200 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
78220 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
78240 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
78260 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
78280 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.
782a0 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
782c0 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
782e0 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)
78300 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
78320 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")).;;.=>.(
78340 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").```..####.
78360 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.
78380 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
783a0 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
783c0 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
783e0 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
78400 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)..```
78420 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"."
78440 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".
78460 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"
78480 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
784a0 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.'("
784c0 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")).;;.=>.(
784e0 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").```..####.-
78500 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
78520 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
78540 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
78560 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
78580 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`..
785a0 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
785c0 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
785e0 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
78600 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"
78620 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
78640 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
78660 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")).
78680 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-
786a0 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"
786c0 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
786e0 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
78700 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
78720 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)...#
78740 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)
78760 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
78780 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`.
787a0 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.`
787c0 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
787e0 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
78800 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.
78820 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
78840 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
78860 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
78880 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`
788a0 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.[`-
788c0 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.[
788e0 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)
78900 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.'(
78920 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.#'
78940 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)
78960 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
78980 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")
789a0 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".```..####.
789c0 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)`.
789e0 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
78a00 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
78a20 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
78a40 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
78a60 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
78a80 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.
78aa0 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.
78ac0 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
78ae0 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
78b00 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
78b20 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
78b40 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
78b60 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
78b80 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
78ba0 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
78bc0 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
78be0 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
78c00 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.
78c20 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
78c40 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
78c60 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`
78c80 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.
78ca0 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
78cc0 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
78ce0 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
78d00 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`.
78d20 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
78d40 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
78d60 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).
78d80 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.'
78da0 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
78dc0 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.(
78de0 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
78e00 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".
78e20 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".```..###
78e40 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
78e60 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
78e80 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
78ea0 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.`
78ec0 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
78ee0 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,.
78f00 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
78f20 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
78f40 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
78f60 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`.
78f80 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
78fa0 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.`--
78fc0 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
78fe0 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
79000 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
79020 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.(
79040 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
79060 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)).;;.
79080 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
790a0 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)).;;.
790c0 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.`
790e0 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.
79100 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
79120 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
79140 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
79160 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.
79180 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
791a0 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
791c0 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`
791e0 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
79200 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
79220 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
79240 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.
79260 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
79280 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.
792a0 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
792c0 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
792e0 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
79300 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.
79320 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
79340 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
79360 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
79380 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
793a0 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
793c0 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
793e0 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
79400 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
79420 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.`--
79440 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
79460 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
79480 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
794a0 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
794c0 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)).;;.=
794e0 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
79500 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
79520 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
79540 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
79560 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)`..
79580 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
795a0 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
795c0 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
795e0 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
79600 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
79620 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
79640 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
79660 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
79680 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
796a0 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
796c0 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
796e0 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
79700 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
79720 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)).;;.=>.
79740 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.#'
79760 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
79780 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."(
797a0 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.
797c0 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)".
797e0 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
79800 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
79820 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)`.
79840 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
79860 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
79880 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.
798a0 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
798c0 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`](#
798e0 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
79900 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
79920 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
79940 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
79960 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
79980 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
799a0 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-
799c0 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)...``
799e0 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.
79a00 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).(-
79a20 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.
79a40 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
79a60 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
79a80 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)).;;.=
79aa0 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)))"."
79ac0 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)
79ae0 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.
79b00 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
79b20 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
79b40 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
79b60 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
79b80 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
79ba0 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
79bc0 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
79be0 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
79c00 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
79c20 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`]
79c40 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
79c60 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
79c80 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.#'+.'(
79ca0 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
79cc0 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
79ce0 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."
79d00 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)).;;
79d20 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).
79d40 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
79d60 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`'
79d80 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
79da0 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
79dc0 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.
79de0 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
79e00 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
79e20 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
79e40 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
79e60 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`
79e80 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.[`-
79ea0 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
79ec0 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
79ee0 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).
79f00 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
79f20 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
79f40 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
79f60 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
79f80 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))
79fa0 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
79fc0 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.
79fe0 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
7a000 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)
7a020 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
7a040 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
7a060 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.`
7a080 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
7a0a0 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.(
7a0c0 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.(
7a0e0 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.```..#
7a100 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
7a120 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
7a140 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
7a160 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.'(
7a180 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
7a1a0 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
7a1c0 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
7a1e0 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
7a200 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
7a220 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.()).;;
7a240 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.(-
7a260 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.```
7a280 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)`
7a2a0 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
7a2c0 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`
7a2e0 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
7a300 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)).;;.=>.(
7a320 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)
7a340 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.()
7a360 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,
7a380 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)`..
7a3a0 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`...
7a3c0 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)).;;.=>.
7a3e0 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)
7a400 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
7a420 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)).```..##
7a440 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
7a460 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
7a480 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
7a4a0 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
7a4c0 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)).;;.=
7a4e0 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
7a500 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
7a520 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
7a540 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)).
7a560 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)
7a580 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
7a5a0 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
7a5c0 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
7a5e0 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
7a600 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.`
7a620 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.'
7a640 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.'
7a660 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)).;;.=>.().(-
7a680 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
7a6a0 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).```..####.
7a6c0 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
7a6e0 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.
7a700 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)).;
7a720 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.(
7a740 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.```..####
7a760 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
7a780 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
7a7a0 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
7a7c0 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
7a7e0 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
7a800 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
7a820 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
7a840 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
7a860 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
7a880 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
7a8a0 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))).;;.=>.
7a8c0 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)
7a8e0 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).(
7a900 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.
7a920 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
7a940 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
7a960 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
7a980 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.'
7a9a0 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-
7a9c0 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
7a9e0 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`.
7aa00 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
7aa20 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.
7aa40 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
7aa60 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)
7aa80 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.
7aaa0 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.(-
7aac0 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.(-
7aae0 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))
7ab00 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.
7ab20 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
7ab40 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))
7ab60 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
7ab80 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
7aba0 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
7abc0 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.
7abe0 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...####
7ac00 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
7ac20 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
7ac40 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
7ac60 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
7ac80 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`.`
7aca0 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.
7acc0 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
7ace0 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
7ad00 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
7ad20 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.
7ad40 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)
7ad60 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).```..#
7ad80 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.
7ada0 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`..
7adc0 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.[`-
7ade0 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):.
7ae00 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.
7ae20 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
7ae40 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.
7ae60 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
7ae80 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
7aea0 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
7aec0 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
7aee0 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
7af00 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
7af20 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
7af40 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
7af60 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
7af80 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.(
7afa0 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)).;
7afc0 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
7afe0 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.(
7b000 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)).;;.=>.
7b020 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)).``
7b040 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.
7b060 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
7b080 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)`.
7b0a0 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
7b0c0 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
7b0e0 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
7b100 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
7b120 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.(
7b140 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)).;;.=
7b160 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".
7b180 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")).;;.=>.
7b1a0 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
7b1c0 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.`(
7b1e0 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.`
7b200 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
7b220 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
7b240 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
7b260 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
7b280 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
7b2a0 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`
7b2c0 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.
7b2e0 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-
7b300 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
7b320 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
7b340 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
7b360 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
7b380 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.'(
7b3a0 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
7b3c0 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"))
7b3e0 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
7b400 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.```..####.
7b420 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
7b440 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
7b460 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:.`-
7b480 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`..```
7b4a0 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)).
7b4c0 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
7b4e0 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
7b500 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?
7b520 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
7b540 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`.
7b560 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
7b580 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
7b5a0 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,
7b5c0 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
7b5e0 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
7b600 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`](#
7b620 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
7b640 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
7b660 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
7b680 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
7b6a0 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?
7b6c0 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
7b6e0 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.(-
7b700 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
7b720 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)).;;.=
7b740 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
7b760 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?.
7b780 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
7b7a0 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`
7b7c0 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`..`
7b7e0 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)).;;
7b800 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))
7b820 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))
7b840 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.```..####.-
7b860 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
7b880 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
7b8a0 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.
7b8c0 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
7b8e0 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
7b900 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.
7b920 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
7b940 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`
7b960 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.
7b980 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
7b9a0 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
7b9c0 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.``
7b9e0 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
7ba00 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
7ba20 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.
7ba40 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
7ba60 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
7ba80 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`..`
7baa0 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).;;.
7bac0 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).;;.
7bae0 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).;;.
7bb00 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?.`(
7bb20 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
7bb40 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
7bb60 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
7bb80 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
7bba0 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
7bbc0 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)).;;.
7bbe0 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.
7bc00 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.
7bc20 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.```..
7bc40 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)`
7bc60 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.
7bc80 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
7bca0 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?.
7bcc0 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.(
7bce0 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
7bd00 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)
7bd20 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.```..##
7bd40 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)`..
7bd60 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.
7bd80 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
7bda0 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?.'(
7bdc0 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
7bde0 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))
7be00 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).'
7be20 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.```..####
7be40 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
7be60 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
7be80 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
7bea0 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
7bec0 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).
7bee0 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
7bf00 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
7bf20 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.
7bf40 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
7bf60 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
7bf80 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,
7bfa0 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
7bfc0 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
7bfe0 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
7c000 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)).
7c020 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)).;;.
7c040 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
7c060 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
7c080 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...####.-
7c0a0 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
7c0c0 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
7c0e0 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
7c100 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`
7c120 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.
7c140 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`
7c160 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
7c180 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)...
7c1a0 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
7c1c0 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
7c1e0 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),
7c200 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.
7c220 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.
7c240 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
7c260 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
7c280 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
7c2a0 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.
7c2c0 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)).
7c2e0 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
7c300 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
7c320 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.
7c340 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
7c360 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...```
7c380 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
7c3a0 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
7c3c0 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)).;;.=>.(
7c3e0 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
7c400 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.
7c420 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
7c440 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
7c460 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...
7c480 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
7c4a0 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.
7c4c0 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
7c4e0 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
7c500 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
7c520 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
7c540 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
7c560 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.|.
7c580 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
7c5a0 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
7c5c0 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.
7c5e0 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")).;;.=>.((
7c600 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
7c620 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
7c640 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")).;;.=>.(("
7c660 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
7c680 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.
7c6a0 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
7c6c0 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
7c6e0 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
7c700 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
7c720 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
7c740 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
7c760 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.
7c780 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
7c7a0 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
7c7c0 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)).;;.
7c7e0 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
7c800 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
7c820 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
7c840 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
7c860 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
7c880 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
7c8a0 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
7c8c0 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`).(
7c8e0 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.
7c900 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.(-
7c920 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
7c940 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)).;;.=>.
7c960 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.
7c980 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)).;
7c9a0 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
7c9c0 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)
7c9e0 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)).((
7ca00 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.`(
7ca20 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
7ca40 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
7ca60 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
7ca80 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.
7caa0 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
7cac0 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
7cae0 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.
7cb00 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.'(
7cb20 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.
7cb40 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.
7cb60 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)
7cb80 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
7cba0 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
7cbc0 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.`
7cbe0 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
7cc00 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
7cc20 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.
7cc40 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).(
7cc60 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.
7cc80 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.
7cca0 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.
7ccc0 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.
7cce0 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-
7cd00 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.
7cd20 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
7cd40 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
7cd60 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
7cd80 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
7cda0 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
7cdc0 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
7cde0 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)
7ce00 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
7ce20 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))
7ce40 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-
7ce60 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)).;;.=>.((
7ce80 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
7cea0 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)
7cec0 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
7cee0 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
7cf00 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`.
7cf20 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
7cf40 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.(
7cf60 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.
7cf80 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)
7cfa0 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
7cfc0 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
7cfe0 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.
7d000 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).(
7d020 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
7d040 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
7d060 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
7d080 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
7d0a0 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
7d0c0 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
7d0e0 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)).;;.=>
7d100 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)).(--
7d120 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.
7d140 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.
7d160 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
7d180 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
7d1a0 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.
7d1c0 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.
7d1e0 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
7d200 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
7d220 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
7d240 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
7d260 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
7d280 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
7d2a0 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
7d2c0 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.
7d2e0 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)).;;.=>.(
7d300 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
7d320 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.
7d340 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)
7d360 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
7d380 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)
7d3a0 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
7d3c0 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.
7d3e0 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
7d400 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-
7d420 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-
7d440 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.()).;;.=>.
7d460 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
7d480 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
7d4a0 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.'
7d4c0 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
7d4e0 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
7d500 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
7d520 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
7d540 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
7d560 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
7d580 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
7d5a0 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.'
7d5c0 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
7d5e0 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.
7d600 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)
7d620 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
7d640 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.
7d660 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`
7d680 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
7d6a0 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.()).;;.=>.(
7d6c0 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)
7d6e0 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
7d700 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)).```..#
7d720 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
7d740 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
7d760 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
7d780 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
7d7a0 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
7d7c0 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)).(-
7d7e0 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)).;;.
7d800 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
7d820 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
7d840 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
7d860 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`...
7d880 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`...`
7d8a0 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?.()).;;.=>
7d8c0 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.
7d8e0 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).(
7d900 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
7d920 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".
7d940 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".
7d960 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
7d980 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
7d9a0 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.
7d9c0 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-
7d9e0 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.
7da00 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
7da20 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
7da40 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
7da60 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...
7da80 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
7daa0 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".
7dac0 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.(-
7dae0 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
7db00 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
7db20 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.
7db40 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.`
7db60 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
7db80 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...``
7dba0 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
7dbc0 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
7dbe0 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")).
7dc00 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).
7dc20 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)).;;
7dc40 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.
7dc60 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.
7dc80 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
7dca0 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
7dcc0 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
7dce0 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
7dd00 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
7dd20 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
7dd40 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)).
7dd60 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).'
7dd80 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
7dda0 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.
7ddc0 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")).;;.
7dde0 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.
7de00 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.
7de20 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
7de40 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.
7de60 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
7de80 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
7dea0 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
7dec0 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
7dee0 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)
7df00 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.(<.
7df20 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)).;;.=>.
7df40 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
7df60 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"."
7df80 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
7dfa0 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
7dfc0 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
7dfe0 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
7e000 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.(
7e020 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
7e040 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
7e060 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.
7e080 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
7e0a0 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").
7e0c0 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).
7e0e0 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
7e100 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
7e120 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
7e140 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.
7e160 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
7e180 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
7e1a0 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.#'<
7e1c0 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.
7e1e0 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.
7e200 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
7e220 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.
7e240 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
7e260 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
7e280 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
7e2a0 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.
7e2c0 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
7e2e0 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
7e300 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
7e320 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)).;;.
7e340 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.
7e360 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
7e380 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)).;;.=>
7e3a0 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
7e3c0 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
7e3e0 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
7e400 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
7e420 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`.
7e440 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
7e460 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
7e480 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
7e4a0 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-
7e4c0 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
7e4e0 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
7e500 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).
7e520 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)).;;.
7e540 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
7e560 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
7e580 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.
7e5a0 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`..
7e5c0 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
7e5e0 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
7e600 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
7e620 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
7e640 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)).;;.=>.(
7e660 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).'
7e680 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).```..####
7e6a0 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
7e6c0 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
7e6e0 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
7e700 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
7e720 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
7e740 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.
7e760 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
7e780 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
7e7a0 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)).;;.=>.()
7e7c0 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
7e7e0 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
7e800 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
7e820 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
7e840 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.'(
7e860 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.
7e880 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).```..#
7e8a0 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
7e8c0 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`...
7e8e0 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.()).;;.=>.(
7e900 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)).;;.=
7e920 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.'
7e940 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).
7e960 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))
7e980 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
7e9a0 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
7e9c0 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
7e9e0 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
7ea00 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
7ea20 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
7ea40 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
7ea60 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
7ea80 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
7eaa0 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.
7eac0 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
7eae0 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.
7eb00 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
7eb20 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
7eb40 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.
7eb60 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.
7eb80 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).
7eba0 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)).;;
7ebc0 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.
7ebe0 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
7ec00 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)
7ec20 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.`
7ec40 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`..
7ec60 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
7ec80 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).;;.=>.(:
7eca0 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).;;.=>.(:
7ecc0 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.```.
7ece0 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
7ed00 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
7ed20 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
7ed40 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
7ed60 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
7ed80 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
7eda0 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..
7edc0 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...``
7ede0 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).(
7ee00 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).(-
7ee20 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
7ee40 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
7ee60 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
7ee80 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
7eea0 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.
7eec0 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
7eee0 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.
7ef00 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.
7ef20 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).;;.=>.
7ef40 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).'(
7ef60 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)).``
7ef80 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)`.
7efa0 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
7efc0 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`.
7efe0 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."-".()).;;.=
7f000 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")).;;.
7f020 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"."
7f040 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"."-".
7f060 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
7f080 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
7f0a0 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
7f0c0 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
7f0e0 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")).;;.=>.
7f100 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
7f120 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")).;;.=>.(
7f140 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
7f160 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.
7f180 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
7f1a0 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
7f1c0 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
7f1e0 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
7f200 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
7f220 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
7f240 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
7f260 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
7f280 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..
7f2a0 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.
7f2c0 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
7f2e0 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
7f300 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.`
7f320 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
7f340 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`
7f360 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
7f380 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
7f3a0 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.
7f3c0 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
7f3e0 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.
7f400 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
7f420 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
7f440 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
7f460 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.`
7f480 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
7f4a0 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)
7f4c0 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
7f4e0 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...
7f500 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.
7f520 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
7f540 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")
7f560 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
7f580 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.`(
7f5a0 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
7f5c0 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
7f5e0 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
7f600 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.
7f620 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
7f640 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
7f660 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
7f680 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
7f6a0 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
7f6c0 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
7f6e0 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.
7f700 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
7f720 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
7f740 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
7f760 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
7f780 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
7f7a0 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
7f7c0 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.
7f7e0 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
7f800 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).
7f820 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).'
7f840 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)).```..####.-
7f860 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.`
7f880 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
7f8a0 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
7f8c0 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
7f8e0 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
7f900 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
7f920 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
7f940 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
7f960 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
7f980 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
7f9a0 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.
7f9c0 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:.[
7f9e0 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
7fa00 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)).
7fa20 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-
7fa40 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)).;;.=>
7fa60 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
7fa80 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
7faa0 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
7fac0 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
7fae0 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
7fb00 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
7fb20 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
7fb40 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
7fb60 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.
7fb80 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)).;;.=>
7fba0 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
7fbc0 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
7fbe0 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
7fc00 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-
7fc20 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
7fc40 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
7fc60 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
7fc80 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
7fca0 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
7fcc0 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.
7fce0 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.
7fd00 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.
7fd20 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
7fd40 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
7fd60 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)..
7fd80 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
7fda0 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
7fdc0 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
7fde0 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).(
7fe00 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.
7fe20 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)))
7fe40 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)).```..##
7fe60 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
7fe80 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`..
7fea0 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
7fec0 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
7fee0 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.(
7ff00 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))).;;.=>
7ff20 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.'(
7ff40 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.
7ff60 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
7ff80 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
7ffa0 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.&
7ffc0 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
7ffe0 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
80000 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
80020 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
80040 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))
80060 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).'(
80080 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)).``
800a0 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)
800c0 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
800e0 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
80100 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
80120 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
80140 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
80160 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
80180 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
801a0 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.
801c0 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.
801e0 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
80200 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
80220 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.
80240 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.
80260 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
80280 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.'*.
802a0 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
802c0 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
802e0 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
80300 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)).
80320 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.
80340 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)))).```..#
80360 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
80380 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
803a0 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`...
803c0 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
803e0 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
80400 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
80420 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
80440 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
80460 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
80480 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
804a0 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.
804c0 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
804e0 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:......(-
80500 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
80520 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
80540 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
80560 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
80580 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),.[`
805a0 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).
805c0 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.
805e0 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).
80600 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
80620 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
80640 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
80660 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
80680 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.
806a0 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.
806c0 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)).``
806e0 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
80700 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
80720 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..
80740 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
80760 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
80780 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
807a0 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.
807c0 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
807e0 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.#'
80800 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
80820 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.(-
80840 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)).;;.=>.
80860 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)`.
80880 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
808a0 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
808c0 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
808e0 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
80900 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.(--
80920 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
80940 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"
80960 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
80980 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
809a0 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
809c0 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-
809e0 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
80a00 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)...`
80a20 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)).;;.=
80a40 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.
80a60 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
80a80 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).;;.
80aa0 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
80ac0 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
80ae0 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
80b00 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
80b20 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)...```
80b40 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)).;;.=>
80b60 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.
80b80 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)`..
80ba0 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`,
80bc0 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..
80be0 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
80c00 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-
80c20 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
80c40 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
80c60 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
80c80 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.
80ca0 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:.
80cc0 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
80ce0 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
80d00 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).
80d20 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.
80d40 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.
80d60 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
80d80 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
80da0 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.(-
80dc0 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
80de0 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.```
80e00 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
80e20 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
80e40 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
80e60 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
80e80 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
80ea0 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
80ec0 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).`
80ee0 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
80f00 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
80f20 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
80f40 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
80f60 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
80f80 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
80fa0 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
80fc0 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
80fe0 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
81000 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
81020 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
81040 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
81060 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
81080 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
810a0 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.(-
810c0 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).
810e0 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
81100 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))
81120 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.`
81140 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..
81160 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
81180 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
811a0 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
811c0 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.
811e0 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.
81200 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
81220 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
81240 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
81260 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.
81280 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
812a0 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
812c0 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
812e0 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)
81300 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.`
81320 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).
81340 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
81360 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
81380 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.
813a0 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
813c0 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
813e0 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)))
81400 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))
81420 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
81440 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.(
81460 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
81480 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))).
814a0 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
814c0 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
814e0 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
81500 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
81520 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
81540 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
81560 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
81580 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
815a0 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
815c0 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.
815e0 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
81600 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.
81620 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
81640 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
81660 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
81680 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.
816a0 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)))
816c0 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
816e0 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
81700 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.'
81720 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
81740 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
81760 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
81780 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
817a0 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]]]).;;.=>.(
817c0 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.
817e0 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).```..
81800 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
81820 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`
81840 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
81860 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.
81880 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.
818a0 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
818c0 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
818e0 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...
81900 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
81920 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>".
81940 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>")).;;.=>
81960 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
81980 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
819a0 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
819c0 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`.
819e0 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
81a00 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
81a20 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
81a40 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
81a60 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
81a80 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
81aa0 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))).
81ac0 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
81ae0 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
81b00 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.
81b20 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".
81b40 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
81b60 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).'
81b80 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
81ba0 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
81bc0 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-
81be0 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))))
81c00 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
81c20 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.
81c40 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.
81c60 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))).```
81c80 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)`.
81ca0 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.
81cc0 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
81ce0 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
81d00 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`.
81d20 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
81d40 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
81d60 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.
81d80 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.
81da0 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
81dc0 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
81de0 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...```
81e00 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
81e20 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
81e40 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
81e60 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
81e80 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
81ea0 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
81ec0 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
81ee0 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.">"
81f00 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."
81f20 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
81f40 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
81f60 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<
81f80 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>".```..###
81fa0 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
81fc0 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
81fe0 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
82000 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
82020 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
82040 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.`
82060 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
82080 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
820a0 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.
820c0 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
820e0 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.
82100 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
82120 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).(
82140 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
82160 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.'
82180 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
821a0 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
821c0 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)`.
821e0 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.`
82200 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
82220 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
82240 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
82260 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
82280 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
822a0 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
822c0 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
822e0 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
82300 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.
82320 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`]
82340 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.[`
82360 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).
82380 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.
823a0 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...``
823c0 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
823e0 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))
82400 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).(--
82420 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.
82440 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)))).;;.=
82460 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
82480 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
824a0 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
824c0 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
824e0 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
82500 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
82520 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
82540 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
82560 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
82580 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
825a0 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
825c0 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
825e0 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
82600 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)
82620 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.[
82640 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
82660 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
82680 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
826a0 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
826c0 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.
826e0 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
82700 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))
82720 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
82740 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
82760 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))
82780 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).
827a0 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."{".(
827c0 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
827e0 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
82800 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
82820 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-
82840 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
82860 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
82880 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)))
828a0 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
828c0 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
828e0 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...
82900 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
82920 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}
82940 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
82960 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)`.
82980 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
829a0 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
829c0 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
829e0 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
82a00 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.
82a20 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
82a40 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)).(
82a60 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).;
82a80 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
82aa0 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
82ac0 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
82ae0 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...####.->.`
82b00 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)`..
82b20 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
82b40 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
82b60 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
82b80 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
82ba0 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
82bc0 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
82be0 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...```
82c00 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).(
82c20 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))).;;
82c40 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
82c60 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)).;;
82c80 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
82ca0 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
82cc0 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
82ce0 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
82d00 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
82d20 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
82d40 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
82d60 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
82d80 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.(->>.'
82da0 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
82dc0 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
82de0 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)
82e00 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).(-
82e20 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.```..####.-
82e40 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
82e60 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
82e80 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
82ea0 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
82ec0 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
82ee0 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
82f00 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
82f20 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
82f40 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.(-->.
82f60 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")).;
82f80 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
82fa0 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))
82fc0 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
82fe0 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).;;
83000 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->.
83020 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)`..
83040 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
83060 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
83080 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
830a0 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
830c0 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.
830e0 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...`
83100 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)
83120 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.(
83140 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)).;;.=>.(
83160 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.(
83180 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.```..###
831a0 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
831c0 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,
831e0 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
83200 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
83220 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
83240 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.
83260 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
83280 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
832a0 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?.
832c0 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
832e0 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
83300 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
83320 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
83340 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
83360 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
83380 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
833a0 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)
833c0 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).(
833e0 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?)
83400 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->>.'(
83420 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)).;
83440 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
83460 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`.
83480 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.[`-->`](#---
834a0 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.
834c0 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
834e0 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.
83500 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
83520 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
83540 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,.
83560 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
83580 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
835a0 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
835c0 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--
835e0 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).
83600 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)).;
83620 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.&
83640 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
83660 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`
83680 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-
836a0 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
836c0 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
836e0 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
83700 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
83720 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
83740 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
83760 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
83780 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).
837a0 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.
837c0 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)).;;.=
837e0 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
83800 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
83820 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
83840 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
83860 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
83880 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
838a0 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
838c0 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
838e0 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
83900 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`]
83920 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
83940 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
83960 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
83980 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
839a0 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"))
839c0 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.((&
839e0 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"
83a00 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
83a20 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)`.
83a40 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,
83a60 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
83a80 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
83aa0 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
83ac0 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
83ae0 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*`](#-
83b00 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`.
83b20 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.
83b40 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
83b60 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
83b80 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.(+
83ba0 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
83bc0 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)).(+
83be0 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
83c00 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
83c20 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
83c40 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
83c60 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
83c80 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
83ca0 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)...
83cc0 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
83ce0 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
83d00 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
83d20 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.```..####
83d40 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
83d60 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.
83d80 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
83da0 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`,.
83dc0 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`
83de0 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
83e00 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
83e20 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
83e40 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
83e60 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
83e80 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.`
83ea0 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
83ec0 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
83ee0 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*.((
83f00 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
83f20 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*.(((_.
83f40 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.`
83f60 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
83f80 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
83fa0 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`...`
83fc0 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
83fe0 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
84000 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
84020 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"...`
84040 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
84060 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
84080 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
840a0 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
840c0 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
840e0 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
84100 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
84120 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
84140 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
84160 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
84180 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
841a0 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
841c0 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.
841e0 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
84200 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...
84220 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`]...
84240 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
84260 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.
84280 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
842a0 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.
842c0 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.
842e0 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
84300 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
84320 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
84340 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
84360 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
84380 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
843a0 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
843c0 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
843e0 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
84400 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
84420 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
84440 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.
84460 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
84480 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
844a0 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`.
844c0 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)
844e0 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.`
84500 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
84520 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.`
84540 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
84560 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
84580 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
845a0 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
845c0 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`...
845e0 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
84600 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.`
84620 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
84640 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...)......[
84660 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
84680 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
846a0 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`,
846c0 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`,...................
846e0 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
84700 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.
84720 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.
84740 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........
84760 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`.
84780 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
847a0 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
847c0 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
847e0 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
84800 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.............................
84820 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
84840 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............................
84860 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
84880 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.....................
848a0 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.....
848c0 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:...
848e0 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).
84900 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
84920 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..............................
84940 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.
84960 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.............................
84980 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
849a0 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............................
849c0 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
849e0 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.
84a00 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
84a20 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.................
84a40 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
84a60 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................
84a80 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
84aa0 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...............
84ac0 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
84ae0 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.
84b00 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
84b20 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.........
84b40 20 20 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
84b60 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....
84b80 20 20 20 20 20 20 20 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
84ba0 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....
84bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
84be0 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..
84c00 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.
84c20 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
84c40 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
84c60 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
84c80 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
84ca0 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
84cc0 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....
84ce0 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.
84d00 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.
84d20 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.
84d40 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
84d60 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
84d80 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
84da0 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
84dc0 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.
84de0 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
84e00 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
84e20 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
84e40 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
84e60 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
84e80 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
84ea0 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
84ec0 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
84ee0 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
84f00 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,.
84f20 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
84f40 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
84f60 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
84f80 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
84fa0 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
84fc0 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
84fe0 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.
85000 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.
85020 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.
85040 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.
85060 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-
85080 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
850a0 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
850c0 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......(&
850e0 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)
85100 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
85120 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
85140 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.
85160 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
85180 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
851a0 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
851c0 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
851e0 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
85200 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
85220 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
85240 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
85260 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
85280 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
852a0 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)..
852c0 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
852e0 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,.
85300 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.(
85320 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.
85340 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
85360 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
85380 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
853a0 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.:
853c0 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`
853e0 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.
85400 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
85420 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
85440 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
85460 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
85480 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-
854a0 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
854c0 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
854e0 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
85500 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
85520 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
85540 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
85560 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
85580 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
855a0 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])
855c0 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
855e0 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
85600 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.
85620 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
85640 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
85660 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
85680 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
856a0 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
856c0 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).(-
856e0 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
85700 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.
85720 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
85740 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
85760 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))
85780 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
857a0 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
857c0 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.
857e0 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
85800 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
85820 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.
85840 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
85860 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
85880 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`..
858a0 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.
858c0 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
858e0 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.
85900 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
85920 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
85940 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
85960 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
85980 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.
859a0 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
859c0 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
859e0 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
85a00 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
85a20 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
85a40 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
85a60 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
85a80 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
85aa0 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).
85ac0 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)).;;.=
85ae0 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
85b00 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)`.
85b20 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
85b40 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
85b60 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
85b80 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
85ba0 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
85bc0 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).....(
85be0 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
85c00 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
85c20 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
85c40 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.
85c60 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.
85c80 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
85ca0 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
85cc0 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
85ce0 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.
85d00 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).
85d20 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)).
85d40 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
85d60 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).
85d80 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)
85da0 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).```..
85dc0 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]...
85de0 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
85e00 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
85e20 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
85e40 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`](#-
85e60 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
85e80 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.
85ea0 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
85ec0 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
85ee0 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.
85f00 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
85f20 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......(
85f40 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
85f60 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
85f80 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
85fa0 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
85fc0 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
85fe0 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.
86000 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.
86020 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
86040 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)).
86060 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
86080 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).;;.=
860a0 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
860c0 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
860e0 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
86100 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
86120 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.
86140 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
86160 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
86180 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
861a0 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
861c0 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
861e0 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.
86200 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).
86220 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
86240 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
86260 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
86280 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.```.
862a0 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
862c0 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.
862e0 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
86300 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
86320 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
86340 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
86360 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
86380 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
863a0 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
863c0 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.
863e0 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).(
86400 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.
86420 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).(<.
86440 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
86460 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
86480 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
864a0 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
864c0 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
864e0 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
86500 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
86520 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
86540 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
86560 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
86580 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`]
865a0 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.
865c0 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)
865e0 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).
86600 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)
86620 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
86640 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))
86660 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
86680 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.
866a0 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
866c0 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
866e0 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
86700 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
86720 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.
86740 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.`
86760 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
86780 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
867a0 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).
867c0 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)).
867e0 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.
86800 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.```..##
86820 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)
86840 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
86860 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
86880 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`
868a0 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
868c0 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
868e0 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
86900 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
86920 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
86940 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
86960 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?.(
86980 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).;;.=>
869a0 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.'(
869c0 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)).
869e0 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
86a00 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).
86a20 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.`
86a40 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
86a60 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.
86a80 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
86aa0 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
86ac0 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
86ae0 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...
86b00 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
86b20 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
86b40 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
86b60 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.(
86b80 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).;;.=>
86ba0 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
86bc0 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).;;.=>.
86be0 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
86c00 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).```..
86c20 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
86c40 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.
86c60 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)`..
86c80 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
86ca0 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
86cc0 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).
86ce0 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).;
86d00 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
86d20 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
86d40 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.((
86d60 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
86d80 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).;;.=
86da0 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
86dc0 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
86de0 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...####
86e00 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
86e20 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
86e40 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`
86e60 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.
86e80 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`..
86ea0 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
86ec0 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
86ee0 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
86f00 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
86f20 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...```
86f40 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)).;;
86f60 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).
86f80 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.#'
86fa0 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
86fc0 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
86fe0 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
87000 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
87020 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
87040 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
87060 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
87080 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.
870a0 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
870c0 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
870e0 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
87100 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
87120 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
87140 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.
87160 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
87180 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)).;;.=>.-
871a0 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).
871c0 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.#'-.
871e0 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
87200 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
87220 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.`
87240 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
87260 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
87280 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.
872a0 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.
872c0 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)
872e0 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.#
87300 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
87320 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
87340 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)).;;.=>.(("
87360 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
87380 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
873a0 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.
873c0 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.
873e0 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
87400 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
87420 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.
87440 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
87460 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
87480 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
874a0 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
874c0 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.
874e0 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+.#'+)
87500 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
87520 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.
87540 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
87560 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).```.
87580 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.
875a0 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.
875c0 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
875e0 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.
87600 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
87620 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.`
87640 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.(-
87660 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
87680 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.
876a0 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
876c0 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)).;;.=
876e0 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)`..
87700 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
87720 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
87740 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.
87760 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
87780 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`
877a0 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
877c0 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.
877e0 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
87800 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
87820 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
87840 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.
87860 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
87880 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.(-
878a0 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
878c0 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.
878e0 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
87900 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.#
87920 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".
87940 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.#'>.
87960 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))).
87980 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)`
879a0 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.`
879c0 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.
879e0 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
87a00 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
87a20 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
87a40 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
87a60 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.#'-)
87a80 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
87aa0 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).
87ac0 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
87ae0 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.
87b00 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
87b20 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.`
87b40 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)`..
87b60 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
87b80 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
87ba0 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
87bc0 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
87be0 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.
87c00 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
87c20 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
87c40 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-
87c60 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
87c80 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
87ca0 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
87cc0 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).;;.=>.
87ce0 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
87d00 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
87d20 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.
87d40 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).```..##
87d60 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
87d80 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
87da0 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
87dc0 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.(-
87de0 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
87e00 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"
87e20 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
87e40 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")))
87e60 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.
87e80 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
87ea0 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
87ec0 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.
87ee0 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...
87f00 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
87f20 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
87f40 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.
87f60 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)
87f80 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))
87fa0 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.<
87fc0 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)).
87fe0 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")
88000 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
88020 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
88040 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
88060 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.`
88080 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
880a0 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.
880c0 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:.[`
880e0 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
88100 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)...
88120 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).
88140 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.#'<).'
88160 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).(
88180 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)).
881a0 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
881c0 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
881e0 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
88200 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
88220 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
88240 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
88260 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
88280 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
882a0 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
882c0 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
882e0 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`
88300 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
88320 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
88340 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
88360 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
88380 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)
883a0 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
883c0 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.
883e0 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.(
88400 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
88420 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
88440 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).;;.=>
88460 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
88480 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
884a0 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
884c0 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
884e0 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
88500 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
88520 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
88540 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`
88560 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
88580 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
885a0 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
885c0 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
885e0 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
88600 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
88620 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
88640 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
88660 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
88680 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).(
886a0 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+).'
886c0 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).(
886e0 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).;;
88700 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.
88720 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
88740 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
88760 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
88780 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.
887a0 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
887c0 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
887e0 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.
88800 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
88820 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.
88840 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
88860 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
88880 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
888a0 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)))...``
888c0 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
888e0 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
88900 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).;;.
88920 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
88940 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).```.
88960 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
88980 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
889a0 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).
889c0 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.
889e0 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
88a00 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,.`
88a20 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
88a40 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.
88a60 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
88a80 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.
88aa0 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
88ac0 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.......
88ae0 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
88b00 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,....
88b20 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
88b40 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.......
88b60 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.
88b80 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
88ba0 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..`
88bc0 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
88be0 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...
88c00 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.
88c20 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`,
88c40 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
88c60 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
88c80 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
88ca0 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.
88cc0 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.
88ce0 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
88d00 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
88d20 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...
88d40 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
88d60 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.
88d80 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
88da0 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
88dc0 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
88de0 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
88e00 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
88e20 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.
88e40 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=
88e60 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.
88e80 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
88ea0 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
88ec0 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
88ee0 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).;;.=>.(
88f00 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.`(
88f20 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
88f40 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
88f60 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
88f80 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
88fa0 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.
88fc0 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
88fe0 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)).->
89000 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
89020 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:..
89040 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....).
89060 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.
89080 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').
890a0 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
890c0 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
890e0 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)
89100 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.
89120 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
89140 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
89160 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.
89180 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
891a0 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))..``
891c0 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
891e0 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)).;;.=>
89200 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
89220 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))).;
89240 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)).(
89260 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
89280 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).
892a0 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
892c0 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
892e0 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
89300 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
89320 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
89340 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
89360 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
89380 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
893a0 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
893c0 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.
893e0 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
89400 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
89420 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
89440 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
89460 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
89480 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
894a0 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
894c0 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
894e0 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.
89500 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
89520 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
89540 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
89560 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
89580 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
895a0 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,.
895c0 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
895e0 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
89600 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.
89620 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
89640 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.
89660 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
89680 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
896a0 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
896c0 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
896e0 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.
89700 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
89720 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
89740 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
89760 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
89780 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
897a0 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
897c0 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
897e0 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
89800 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
89820 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
89840 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
89860 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`,
89880 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
898a0 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).
898c0 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
898e0 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
89900 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
89920 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
89940 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?`..-.[
89960 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.
89980 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
899a0 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://
899c0 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
899e0 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
89a00 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
89a20 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
89a40 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
89a60 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
89a80 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.
89aa0 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
89ac0 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
89ae0 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).
89b00 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
89b20 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..-
89b40 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:/
89b60 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
89b80 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
89ba0 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.`-
89bc0 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
89be0 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
89c00 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.`-
89c20 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
89c40 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
89c60 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
89c80 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
89ca0 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
89cc0 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
89ce0 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
89d00 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..
89d20 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.
89d40 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...
89d60 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
89d80 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..
89da0 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
89dc0 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:.
89de0 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>
89e00 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:
89e20 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.
89e40 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
89e60 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
89e80 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
89ea0 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
89ec0 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
89ee0 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.
89f00 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.
89f20 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
89f40 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
89f60 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
89f80 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
89fa0 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
89fc0 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
89fe0 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
8a000 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.
8a020 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
8a040 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
8a060 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/>...........................
8a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a200 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..
8a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a260 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
8a280 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...
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 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...................
8a320 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...................
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 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
8a420 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
8a440 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.
8a460 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
8a480 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
8a4a0 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.
8a4c0 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
8a4e0 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
8a500 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
8a520 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
8a540 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
8a560 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
8a580 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
8a5a0 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
8a5c0 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
8a5e0 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
8a600 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
8a620 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
8a640 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
8a660 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
8a680 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
8a6a0 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
8a6c0 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.
8a6e0 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)...*
8a700 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
8a720 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
8a740 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
8a760 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]
8a780 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](#
8a7a0 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
8a7c0 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
8a7e0 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
8a800 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
8a820 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
8a840 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
8a860 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
8a880 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
8a8a0 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.
8a8c0 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
8a8e0 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.
8a900 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
8a920 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.
8a940 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
8a960 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
8a980 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
8a9a0 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
8a9c0 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...
8a9e0 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
8aa00 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
8aa20 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:
8aa40 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
8aa60 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
8aa80 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.
8aaa0 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`:......
8aac0 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
8aae0 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
8ab00 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/
8ab20 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/
8ab40 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)
8ab60 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
8ab80 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
8aba0 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
8abc0 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
8abe0 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
8ac00 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)
8ac20 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
8ac40 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
8ac60 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
8ac80 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.]
8aca0 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
8acc0 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
8ace0 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
8ad00 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)...###
8ad20 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
8ad40 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
8ad60 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.
8ad80 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
8ada0 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
8adc0 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`.
8ade0 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.
8ae00 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
8ae20 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.
8ae40 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
8ae60 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
8ae80 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
8aea0 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
8aec0 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
8aee0 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.`
8af00 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-
8af20 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
8af40 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
8af60 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`.(
8af80 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
8afa0 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
8afc0 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.
8afe0 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
8b000 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
8b020 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
8b040 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.
8b060 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
8b080 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.
8b0a0 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
8b0c0 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
8b0e0 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-
8b100 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
8b120 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
8b140 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
8b160 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
8b180 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
8b1a0 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
8b1c0 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..
8b1e0 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
8b200 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
8b220 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
8b240 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.
8b260 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
8b280 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
8b2a0 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
8b2c0 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
8b2e0 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:.
8b300 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)
8b320 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..
8b340 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))....
8b360 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..```.
8b380 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
8b3a0 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:..`
8b3c0 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
8b3e0 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."...(
8b400 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
8b420 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
8b440 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
8b460 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
8b480 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.
8b4a0 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.
8b4c0 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.
8b4e0 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
8b500 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
8b520 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
8b540 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
8b560 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:...
8b580 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
8b5a0 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:......
8b5c0 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.
8b5e0 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
8b600 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.
8b620 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
8b640 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
8b660 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:.....
8b680 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
8b6a0 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.
8b6c0 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
8b6e0 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
8b700 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
8b720 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
8b740 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.
8b760 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.
8b780 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
8b7a0 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
8b7c0 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
8b7e0 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
8b800 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")
8b820 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
8b840 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
8b860 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
8b880 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://
8b8a0 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
8b8c0 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..
8b8e0 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
8b900 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
8b920 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
8b940 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.`
8b960 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
8b980 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
8b9a0 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
8b9c0 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
8b9e0 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
8ba00 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/
8ba20 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`,..
8ba40 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`
8ba60 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
8ba80 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-
8baa0 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
8bac0 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
8bae0 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
8bb00 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
8bb20 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](
8bb40 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).
8bb60 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
8bb80 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
8bba0 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
8bbc0 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`,
8bbe0 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
8bc00 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://
8bc20 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.`
8bc40 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
8bc60 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
8bc80 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.
8bca0 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.
8bcc0 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
8bce0 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
8bd00 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
8bd20 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
8bd40 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
8bd60 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
8bd80 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
8bda0 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
8bdc0 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)
8bde0 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->
8be00 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
8be20 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
8be40 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...
8be60 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
8be80 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
8bea0 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://
8bec0 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.
8bee0 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`.
8bf00 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.
8bf20 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
8bf40 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
8bf60 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
8bf80 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,
8bfa0 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
8bfc0 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
8bfe0 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
8c000 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
8c020 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
8c040 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
8c060 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.
8c080 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
8c0a0 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.
8c0c0 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
8c0e0 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
8c100 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
8c120 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
8c140 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.
8c160 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
8c180 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
8c1a0 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
8c1c0 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.
8c1e0 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
8c200 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
8c220 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/>............
8c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c400 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...........
8c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
8c480 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...
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 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...................
8c520 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...................
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 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
8c620 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
8c640 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
8c660 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
8c680 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
8c6a0 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
8c6c0 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
8c6e0 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
8c700 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
8c720 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
8c740 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
8c760 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
8c780 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
8c7a0 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
8c7c0 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
8c7e0 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
8c800 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
8c820 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
8c840 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
8c860 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
8c880 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
8c8a0 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
8c8c0 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
8c8e0 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
8c900 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
8c920 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:.(
8c940 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
8c960 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
8c980 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
8c9a0 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
8c9c0 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
8c9e0 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.@
8ca00 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
8ca20 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
8ca40 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
8ca60 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::....
8ca80 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
8caa0 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
8cac0 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::
8cae0 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
8cb00 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::.
8cb20 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.
8cb40 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::.....
8cb60 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
8cb80 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::.
8cba0 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
8cbc0 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
8cbe0 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.
8cc00 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.
8cc20 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
8cc40 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
8cc60 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
8cc80 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.
8cca0 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
8ccc0 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.
8cce0 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.
8cd00 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
8cd20 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
8cd40 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
8cd60 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
8cd80 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
8cda0 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
8cdc0 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
8cde0 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.
8ce00 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
8ce20 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
8ce40 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
8ce60 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
8ce80 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
8cea0 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
8cec0 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
8cee0 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
8cf00 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
8cf20 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.
8cf40 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
8cf60 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
8cf80 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
8cfa0 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
8cfc0 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.
8cfe0 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
8d000 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
8d020 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
8d040 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{
8d060 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
8d080 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
8d0a0 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
8d0c0 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
8d0e0 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
8d100 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
8d120 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
8d140 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
8d160 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
8d180 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
8d1a0 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
8d1c0 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
8d1e0 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,.
8d200 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
8d220 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
8d240 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,,
8d260 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
8d280 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
8d2a0 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}"
8d2c0 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
8d2e0 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.
8d300 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
8d320 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
8d340 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
8d360 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
8d380 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
8d3a0 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},.
8d3c0 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
8d3e0 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
8d400 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
8d420 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
8d440 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
8d460 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.
8d480 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.
8d4a0 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-
8d4c0 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
8d4e0 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.
8d500 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
8d520 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.
8d540 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},
8d560 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
8d580 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
8d5a0 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
8d5c0 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.
8d5e0 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
8d600 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
8d620 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
8d640 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
8d660 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
8d680 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
8d6a0 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
8d6c0 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
8d6e0 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,.
8d700 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
8d720 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
8d740 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
8d760 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-
8d780 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
8d7a0 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
8d7c0 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))
8d7e0 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
8d800 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
8d820 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
8d840 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
8d860 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
8d880 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.
8d8a0 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
8d8c0 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
8d8e0 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
8d900 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
8d920 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...
8d940 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
8d960 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{--
8d980 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
8d9a0 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}
8d9c0 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
8d9e0 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
8da00 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.
8da20 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.@
8da40 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
8da60 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..
8da80 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.
8daa0 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.
8dac0 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)
8dae0 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
8db00 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
8db20 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).
8db40 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
8db60 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
8db80 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
8dba0 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
8dbc0 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
8dbe0 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
8dc00 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."...(
8dc20 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
8dc40 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).
8dc60 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
8dc80 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
8dca0 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
8dcc0 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
8dce0 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
8dd00 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
8dd20 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
8dd40 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
8dd60 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
8dd80 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
8dda0 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
8ddc0 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
8dde0 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
8de00 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
8de20 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
8de40 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
8de60 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
8de80 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
8dea0 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
8dec0 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
8dee0 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
8df00 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
8df20 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.@
8df40 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
8df60 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{}
8df80 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.(-
8dfa0 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
8dfc0 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.(
8dfe0 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)).....
8e000 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.
8e020 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
8e040 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
8e060 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
8e080 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}.
8e0a0 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}
8e0c0 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
8e0e0 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
8e100 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
8e120 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{
8e140 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
8e160 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
8e180 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})..
8e1a0 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
8e1c0 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
8e1e0 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
8e200 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).
8e220 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
8e240 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
8e260 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)).....@
8e280 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.@
8e2a0 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{
8e2c0 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
8e2e0 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
8e300 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
8e320 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
8e340 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
8e360 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
8e380 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
8e3a0 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
8e3c0 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.'
8e3e0 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.
8e400 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
8e420 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))
8e440 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
8e460 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)
8e480 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
8e4a0 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
8e4c0 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}.
8e4e0 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)
8e500 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}
8e520 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
8e540 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
8e560 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}
8e580 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
8e5a0 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
8e5c0 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.'
8e5e0 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
8e600 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
8e620 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.
8e640 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
8e660 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
8e680 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))..
8e6a0 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
8e6c0 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
8e6e0 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
8e700 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
8e720 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
8e740 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
8e760 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
8e780 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.
8e7a0 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.
8e7c0 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
8e7e0 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
8e800 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
8e820 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.
8e840 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
8e860 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{
8e880 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
8e8a0 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
8e8c0 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))
8e8e0 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
8e900 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.
8e920 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
8e940 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.
8e960 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))...
8e980 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
8e9a0 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
8e9c0 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.(
8e9e0 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
8ea00 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}
8ea20 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
8ea40 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
8ea60 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
8ea80 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
8eaa0 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
8eac0 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
8eae0 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"."
8eb00 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"))).....
8eb20 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
8eb40 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
8eb60 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).'
8eb80 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..
8eba0 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)).@
8ebc0 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
8ebe0 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
8ec00 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.
8ec20 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.
8ec40 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}.
8ec60 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.
8ec80 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}.
8eca0 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.
8ecc0 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{,@
8ece0 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
8ed00 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.
8ed20 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
8ed40 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
8ed60 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
8ed80 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
8eda0 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
8edc0 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)).
8ede0 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
8ee00 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
8ee20 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{
8ee40 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.@
8ee60 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
8ee80 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)).
8eea0 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)))....
8eec0 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
8eee0 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
8ef00 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
8ef20 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
8ef40 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
8ef60 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
8ef80 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.@
8efa0 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
8efc0 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
8efe0 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})..
8f000 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
8f020 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))...
8f040 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
8f060 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
8f080 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{}
8f0a0 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
8f0c0 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).'
8f0e0 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
8f100 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
8f120 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
8f140 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
8f160 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
8f180 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}..
8f1a0 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
8f1c0 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.(-
8f1e0 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
8f200 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.(
8f220 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
8f240 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
8f260 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.(-
8f280 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))...
8f2a0 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
8f2c0 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
8f2e0 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)
8f300 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
8f320 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.'(
8f340 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
8f360 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
8f380 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
8f3a0 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.
8f3c0 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
8f3e0 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..
8f400 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
8f420 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
8f440 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)
8f460 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.
8f480 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
8f4a0 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
8f4c0 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
8f4e0 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
8f500 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,.
8f520 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
8f540 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
8f560 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
8f580 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.
8f5a0 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{}.(
8f5c0 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.
8f5e0 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
8f600 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
8f620 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
8f640 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.
8f660 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..@
8f680 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.(
8f6a0 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.
8f6c0 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
8f6e0 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
8f700 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
8f720 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
8f740 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
8f760 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
8f780 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}.(
8f7a0 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
8f7c0 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.(
8f7e0 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
8f800 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
8f820 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)).
8f840 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
8f860 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))
8f880 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)
8f8a0 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
8f8c0 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
8f8e0 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
8f900 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
8f920 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.
8f940 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
8f960 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
8f980 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
8f9a0 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
8f9c0 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.
8f9e0 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
8fa00 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
8fa20 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
8fa40 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
8fa60 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
8fa80 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{
8faa0 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
8fac0 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
8fae0 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
8fb00 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
8fb20 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.
8fb40 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
8fb60 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.#
8fb80 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")
8fba0 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").@
8fbc0 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
8fbe0 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
8fc00 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.@
8fc20 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{
8fc40 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
8fc60 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
8fc80 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
8fca0 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
8fcc0 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
8fce0 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.
8fd00 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
8fd20 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
8fd40 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
8fd60 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}
8fd80 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
8fda0 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})
8fdc0 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
8fde0 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
8fe00 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
8fe20 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{
8fe40 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.@
8fe60 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.'(
8fe80 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
8fea0 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
8fec0 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
8fee0 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{
8ff00 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
8ff20 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
8ff40 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
8ff60 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
8ff80 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
8ffa0 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
8ffc0 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}
8ffe0 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
90000 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
90020 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
90040 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.
90060 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
90080 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
900a0 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
900c0 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
900e0 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
90100 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
90120 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
90140 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.
90160 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-
90180 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
901a0 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
901c0 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.
901e0 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)).
90200 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.()).
90220 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
90240 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
90260 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
90280 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.
902a0 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.
902c0 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}...@
902e0 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
90300 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
90320 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
90340 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
90360 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
90380 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.
903a0 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
903c0 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
903e0 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
90400 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)...
90420 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.@
90440 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.
90460 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.
90480 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.
904a0 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
904c0 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
904e0 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
90500 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}.
90520 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.
90540 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.
90560 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{-
90580 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}).
905a0 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
905c0 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).@
905e0 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
90600 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.
90620 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.'(
90640 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
90660 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.
90680 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
906a0 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
906c0 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{
906e0 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
90700 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{
90720 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
90740 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
90760 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}
90780 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.
907a0 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
907c0 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
907e0 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
90800 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
90820 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))....
90840 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
90860 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
90880 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
908a0 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
908c0 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
908e0 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
90900 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
90920 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
90940 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
90960 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
90980 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
909a0 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)).....@
909c0 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
909e0 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
90a00 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
90a20 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{}
90a40 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
90a60 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
90a80 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).
90aa0 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
90ac0 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
90ae0 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{
90b00 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
90b20 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
90b40 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{-
90b60 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
90b80 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.
90ba0 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
90bc0 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
90be0 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
90c00 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.
90c20 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).
90c40 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
90c60 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.
90c80 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
90ca0 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
90cc0 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
90ce0 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.
90d00 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
90d20 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
90d40 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
90d60 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...
90d80 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
90da0 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
90dc0 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
90de0 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
90e00 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
90e20 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
90e40 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
90e60 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))....
90e80 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
90ea0 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.
90ec0 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
90ee0 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
90f00 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
90f20 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
90f40 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}.
90f60 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
90f80 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
90fa0 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
90fc0 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
90fe0 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.
91000 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
91020 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
91040 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
91060 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
91080 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
910a0 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
910c0 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
910e0 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
91100 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
91120 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
91140 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).
91160 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{}.
91180 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
911a0 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
911c0 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
911e0 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
91200 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
91220 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
91240 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
91260 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-
91280 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"."
912a0 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"."
912c0 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".
912e0 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
91300 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).
91320 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{}.("
91340 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.(-
91360 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.
91380 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
913a0 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".
913c0 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
913e0 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
91400 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
91420 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
91440 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}
91460 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
91480 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
914a0 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
914c0 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.
914e0 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
91500 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
91520 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
91540 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
91560 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
91580 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
915a0 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
915c0 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{}
915e0 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
91600 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).'
91620 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)))...
91640 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.
91660 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
91680 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)))
916a0 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
916c0 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.
916e0 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.
91700 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
91720 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
91740 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
91760 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
91780 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
917a0 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
917c0 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
917e0 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
91800 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
91820 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}
91840 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})..@
91860 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
91880 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))).
918a0 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
918c0 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
918e0 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
91900 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
91920 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
91940 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
91960 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-
91980 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}
919a0 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
919c0 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
919e0 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
91a00 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
91a20 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
91a40 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.
91a60 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
91a80 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).
91aa0 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)).
91ac0 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
91ae0 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
91b00 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
91b20 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.
91b40 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
91b60 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
91b80 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
91ba0 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
91bc0 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
91be0 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.
91c00 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
91c20 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
91c40 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
91c60 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)
91c80 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
91ca0 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
91cc0 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.
91ce0 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..@
91d00 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
91d20 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}.
91d40 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
91d60 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
91d80 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.
91da0 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)
91dc0 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}.
91de0 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.
91e00 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,.
91e20 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
91e40 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
91e60 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
91e80 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
91ea0 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.
91ec0 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
91ee0 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}.
91f00 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.@
91f20 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
91f40 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
91f60 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))))))).
91f80 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
91fa0 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..
91fc0 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)
91fe0 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
92000 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
92020 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.@
92040 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
92060 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
92080 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.
920a0 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
920c0 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.
920e0 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
92100 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).
92120 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.
92140 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
92160 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)))
92180 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).@
921a0 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
921c0 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
921e0 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.
92200 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
92220 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
92240 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
92260 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{-
92280 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.(-
922a0 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)).
922c0 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"
922e0 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
92300 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
92320 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
92340 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
92360 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
92380 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
923a0 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
923c0 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
923e0 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.
92400 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
92420 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
92440 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.
92460 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
92480 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
924a0 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.
924c0 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.
924e0 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
92500 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
92520 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
92540 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
92560 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
92580 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
925a0 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.
925c0 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.
925e0 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..@
92600 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
92620 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
92640 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
92660 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}.
92680 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
926a0 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
926c0 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
926e0 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
92700 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{
92720 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.@
92740 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"
92760 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"."
92780 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
927a0 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
927c0 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
927e0 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{}
92800 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
92820 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
92840 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
92860 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
92880 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
928a0 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
928c0 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
928e0 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
92900 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
92920 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).@
92940 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.
92960 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.
92980 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
929a0 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
929c0 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
929e0 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
92a00 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
92a20 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
92a40 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
92a60 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.
92a80 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
92aa0 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
92ac0 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)).....@
92ae0 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
92b00 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.
92b20 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
92b40 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
92b60 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
92b80 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
92ba0 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.
92bc0 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.
92be0 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
92c00 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{
92c20 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
92c40 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)).
92c60 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
92c80 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.(-
92ca0 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))
92cc0 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{}.(
92ce0 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.(
92d00 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
92d20 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
92d40 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
92d60 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..
92d80 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
92da0 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
92dc0 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
92de0 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
92e00 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
92e20 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
92e40 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.@
92e60 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
92e80 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{}.("
92ea0 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.@
92ec0 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
92ee0 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{}.("
92f00 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.@
92f20 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
92f40 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{}.("
92f60 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.@
92f80 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{
92fa0 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
92fc0 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
92fe0 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
93000 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
93020 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
93040 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}.
93060 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}.(@
93080 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
930a0 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.@
930c0 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).'
930e0 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")).....@
93100 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").@
93120 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
93140 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".
93160 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"
93180 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
931a0 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"
931c0 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
931e0 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
93200 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
93220 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
93240 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
93260 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)..
93280 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
932a0 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
932c0 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
932e0 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
93300 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
93320 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
93340 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
93360 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
93380 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.
933a0 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
933c0 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
933e0 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
93400 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
93420 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
93440 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}
93460 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{-
93480 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
934a0 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)).....
934c0 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.(-
934e0 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)).
93500 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
93520 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
93540 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".
93560 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
93580 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
935a0 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
935c0 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
935e0 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{
93600 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
93620 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
93640 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
93660 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
93680 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
936a0 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
936c0 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
936e0 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
93700 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.
93720 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
93740 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
93760 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
93780 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.@
937a0 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.
937c0 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
937e0 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
93800 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
93820 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
93840 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
93860 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
93880 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
938a0 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}
938c0 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},.
938e0 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
93900 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.
93920 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
93940 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
93960 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,.
93980 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
939a0 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}
939c0 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
939e0 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.
93a00 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
93a20 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.
93a40 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
93a60 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
93a80 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)
93aa0 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
93ac0 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
93ae0 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
93b00 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
93b20 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
93b40 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
93b60 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
93b80 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
93ba0 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
93bc0 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.
93be0 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
93c00 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
93c20 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
93c40 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
93c60 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...
93c80 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
93ca0 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
93cc0 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
93ce0 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}).
93d00 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
93d20 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
93d40 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{
93d60 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.
93d80 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{}
93da0 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
93dc0 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
93de0 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-
93e00 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.
93e20 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
93e40 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.
93e60 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
93e80 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
93ea0 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
93ec0 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
93ee0 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
93f00 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
93f20 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
93f40 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
93f60 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
93f80 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
93fa0 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
93fc0 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
93fe0 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.@
94000 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
94020 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
94040 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
94060 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
94080 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
940a0 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
940c0 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
940e0 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
94100 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
94120 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
94140 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.
94160 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
94180 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
941a0 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
941c0 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
941e0 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
94200 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
94220 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}
94240 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
94260 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
94280 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{
942a0 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-
942c0 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
942e0 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
94300 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
94320 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{}."
94340 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.@
94360 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
94380 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
943a0 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
943c0 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.
943e0 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
94400 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
94420 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
94440 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})
94460 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.
94480 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
944a0 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{
944c0 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
944e0 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
94500 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
94520 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
94540 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
94560 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))
94580 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.
945a0 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.#
945c0 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{}.(
945e0 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.(-
94600 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
94620 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))..
94640 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
94660 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
94680 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.
946a0 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
946c0 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
946e0 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
94700 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
94720 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
94740 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
94760 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.
94780 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
947a0 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}).
947c0 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
947e0 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.
94800 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{-
94820 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.
94840 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
94860 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
94880 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
948a0 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
948c0 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.
948e0 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
94900 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
94920 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
94940 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
94960 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
94980 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".'(
949a0 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
949c0 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.
949e0 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
94a00 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
94a20 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
94a40 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
94a60 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
94a80 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.
94aa0 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
94ac0 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
94ae0 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}).(
94b00 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
94b20 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
94b40 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{--
94b60 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
94b80 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
94ba0 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
94bc0 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}
94be0 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
94c00 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{}.(
94c20 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
94c40 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
94c60 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
94c80 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.%
94ca0 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
94cc0 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.
94ce0 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.
94d00 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-
94d20 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
94d40 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
94d60 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
94d80 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
94da0 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.
94dc0 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
94de0 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
94e00 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
94e20 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
94e40 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
94e60 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.
94e80 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}.(
94ea0 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.
94ec0 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
94ee0 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
94f00 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
94f20 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
94f40 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.
94f60 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).@
94f80 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
94fa0 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).'(
94fc0 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
94fe0 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
95000 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
95020 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
95040 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.
95060 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}.
95080 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
950a0 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)).
950c0 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
950e0 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)).
95100 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.
95120 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
95140 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.
95160 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
95180 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
951a0 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)).....
951c0 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.(-
951e0 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
95200 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
95220 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
95240 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
95260 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
95280 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
952a0 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
952c0 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
952e0 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
95300 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
95320 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
95340 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
95360 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
95380 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
953a0 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.(
953c0 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
953e0 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
95400 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
95420 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
95440 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
95460 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
95480 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
954a0 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}.
954c0 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
954e0 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
95500 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{
95520 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
95540 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.
95560 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)
95580 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
955a0 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
955c0 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
955e0 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
95600 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
95620 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
95640 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
95660 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}...@
95680 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
956a0 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).
956c0 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
956e0 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{}.
95700 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.
95720 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
95740 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
95760 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.
95780 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
957a0 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
957c0 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.
957e0 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
95800 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)....
95820 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
95840 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{}.(
95860 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
95880 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
958a0 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
958c0 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
958e0 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
95900 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))
95920 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
95940 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.
95960 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
95980 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.'(
959a0 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
959c0 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
959e0 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
95a00 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.
95a20 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
95a40 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}...
95a60 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.
95a80 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
95aa0 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)
95ac0 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{}.()
95ae0 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
95b00 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))..
95b20 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
95b40 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{-
95b60 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
95b80 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
95ba0 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
95bc0 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
95be0 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.'(
95c00 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
95c20 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
95c40 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
95c60 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}.@
95c80 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).
95ca0 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{
95cc0 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
95ce0 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
95d00 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
95d20 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
95d40 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
95d60 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.
95d80 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.
95da0 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.@
95dc0 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
95de0 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
95e00 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).
95e20 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.(>.(
95e40 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.
95e60 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{}.(
95e80 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.
95ea0 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
95ec0 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
95ee0 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
95f00 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.'
95f20 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.
95f40 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
95f60 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.'
95f80 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
95fa0 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
95fc0 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
95fe0 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
96000 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
96020 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
96040 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
96060 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
96080 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}
960a0 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
960c0 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
960e0 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))
96100 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
96120 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
96140 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))).....
96160 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
96180 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
961a0 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)))
961c0 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
961e0 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
96200 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
96220 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
96240 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
96260 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
96280 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{
962a0 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
962c0 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
962e0 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
96300 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.
96320 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
96340 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
96360 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
96380 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
963a0 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
963c0 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.
963e0 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.@
96400 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
96420 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
96440 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
96460 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{}.
96480 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
964a0 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{-
964c0 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
964e0 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
96500 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".
96520 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}.(@
96540 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
96560 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.
96580 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
965a0 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
965c0 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
965e0 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
96600 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
96620 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
96640 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
96660 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
96680 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
966a0 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)
966c0 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))
966e0 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
96700 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.(-
96720 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
96740 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{}.(
96760 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
96780 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
967a0 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.
967c0 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).(
967e0 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
96800 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
96820 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
96840 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
96860 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}.
96880 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.
968a0 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
968c0 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
968e0 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:.
96900 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
96920 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
96940 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.#'
96960 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{
96980 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
969a0 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
969c0 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
969e0 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
96a00 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
96a20 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
96a40 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
96a60 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
96a80 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.
96aa0 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,.
96ac0 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.@
96ae0 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
96b00 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
96b20 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
96b40 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
96b60 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
96b80 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
96ba0 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
96bc0 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}.
96be0 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
96c00 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
96c20 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.(-
96c40 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
96c60 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
96c80 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).'("
96ca0 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
96cc0 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
96ce0 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{}.
96d00 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
96d20 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
96d40 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
96d60 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.
96d80 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:
96da0 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?},.@
96dc0 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.(
96de0 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)).....
96e00 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.(-
96e20 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)).....@
96e40 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.(
96e60 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
96e80 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
96ea0 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
96ec0 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
96ee0 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
96f00 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},.
96f20 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
96f40 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
96f60 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
96f80 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.
96fa0 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{
96fc0 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
96fe0 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
97000 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
97020 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.@
97040 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
97060 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},.@
97080 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?}..
970a0 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
970c0 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
970e0 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
97100 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.
97120 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)
97140 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.@
97160 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
97180 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
971a0 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
971c0 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
971e0 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).
97200 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},.
97220 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}
97240 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?
97260 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
97280 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?.'(
972a0 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
972c0 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)
972e0 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
97300 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
97320 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
97340 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`
97360 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
97380 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
973a0 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.
973c0 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
973e0 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
97400 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
97420 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
97440 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
97460 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))
97480 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
974a0 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))
974c0 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
974e0 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
97500 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.
97520 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
97540 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?.(
97560 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.
97580 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
975a0 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
975c0 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
975e0 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
97600 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}..@
97620 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
97640 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
97660 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)
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 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).....@
976c0 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
976e0 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
97700 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
97720 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
97740 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
97760 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
97780 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...
977a0 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
977c0 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
977e0 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
97800 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?.'(
97820 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
97840 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?
97860 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
97880 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.
978a0 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?}
978c0 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
978e0 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}
97900 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
97920 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
97940 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).
97960 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
97980 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
979a0 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{
979c0 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
979e0 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
97a00 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
97a20 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
97a40 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.
97a60 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
97a80 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}..
97aa0 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
97ac0 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
97ae0 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{}.
97b00 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?
97b20 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
97b40 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
97b60 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))...
97b80 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.
97ba0 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-
97bc0 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
97be0 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
97c00 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
97c20 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
97c40 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
97c60 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?.'
97c80 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
97ca0 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
97cc0 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)).....@
97ce0 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
97d00 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)).
97d20 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.
97d40 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
97d60 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
97d80 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
97da0 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
97dc0 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
97de0 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
97e00 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
97e20 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
97e40 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
97e60 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
97e80 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?
97ea0 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
97ec0 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
97ee0 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
97f00 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
97f20 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
97f40 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
97f60 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
97f80 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
97fa0 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.
97fc0 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
97fe0 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
98000 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
98020 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
98040 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.
98060 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
98080 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
980a0 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
980c0 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
980e0 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
98100 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.
98120 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
98140 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
98160 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.
98180 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
981a0 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
981c0 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.
981e0 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
98200 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.
98220 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
98240 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
98260 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
98280 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}).(-
982a0 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}
982c0 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
982e0 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.
98300 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)).
98320 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
98340 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
98360 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{}.((
98380 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.(-
983a0 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
983c0 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
983e0 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
98400 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}.
98420 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
98440 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
98460 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{
98480 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
984a0 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
984c0 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
984e0 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
98500 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
98520 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-
98540 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
98560 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
98580 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])).....
985a0 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.
985c0 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
985e0 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
98600 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"))...
98620 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
98640 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
98660 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
98680 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
986a0 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.
986c0 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..
986e0 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
98700 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
98720 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
98740 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.@
98760 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
98780 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
987a0 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
987c0 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.
987e0 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.
98800 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
98820 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}...@
98840 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
98860 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{}
98880 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
988a0 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
988c0 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
988e0 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
98900 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)).
98920 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))
98940 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
98960 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
98980 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
989a0 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
989c0 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
989e0 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
98a00 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.
98a20 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
98a40 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.
98a60 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
98a80 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
98aa0 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).
98ac0 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
98ae0 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
98b00 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.'(
98b20 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
98b40 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))
98b60 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
98b80 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
98ba0 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
98bc0 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
98be0 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
98c00 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
98c20 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
98c40 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
98c60 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
98c80 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
98ca0 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
98cc0 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
98ce0 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).
98d00 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.(
98d20 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))..
98d40 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)).@
98d60 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
98d80 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
98da0 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
98dc0 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
98de0 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
98e00 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
98e20 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
98e40 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
98e60 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
98e80 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
98ea0 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
98ec0 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
98ee0 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
98f00 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
98f20 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).
98f40 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
98f60 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
98f80 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-
98fa0 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.
98fc0 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{
98fe0 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
99000 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}.
99020 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
99040 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
99060 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
99080 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
990a0 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)).....
990c0 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
990e0 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
99100 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
99120 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.(
99140 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.
99160 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.
99180 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
991a0 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
991c0 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
991e0 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
99200 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
99220 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
99240 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}
99260 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
99280 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
992a0 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
992c0 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
992e0 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
99300 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
99320 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
99340 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
99360 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
99380 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{}
993a0 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
993c0 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
993e0 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
99400 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}.
99420 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
99440 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
99460 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
99480 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?.()).....
994a0 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.(
994c0 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
994e0 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).
99500 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.
99520 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).
99540 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{}.
99560 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
99580 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
995a0 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.-
995c0 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
995e0 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
99600 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
99620 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
99640 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.
99660 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
99680 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
996a0 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
996c0 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
996e0 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
99700 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
99720 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
99740 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.
99760 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))..
99780 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
997a0 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
997c0 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.
997e0 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{}.((
99800 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
99820 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..
99840 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}.@
99860 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
99880 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
998a0 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
998c0 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
998e0 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.
99900 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}...
99920 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
99940 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
99960 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
99980 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
999a0 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.
999c0 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
999e0 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))..
99a00 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))
99a20 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
99a40 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
99a60 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
99a80 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
99aa0 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
99ac0 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
99ae0 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-
99b00 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.()).....@
99b20 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.(-
99b40 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
99b60 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))
99b80 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
99ba0 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.
99bc0 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)
99be0 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
99c00 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
99c20 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-
99c40 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
99c60 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
99c80 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}...@
99ca0 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
99cc0 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
99ce0 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
99d00 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{}.((
99d20 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
99d40 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
99d60 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
99d80 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
99da0 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
99dc0 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.
99de0 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
99e00 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
99e20 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
99e40 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
99e60 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
99e80 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)).@
99ea0 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
99ec0 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{}.((
99ee0 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
99f00 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
99f20 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.@
99f40 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
99f60 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
99f80 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
99fa0 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
99fc0 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?.()
99fe0 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
9a000 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
9a020 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
9a040 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
9a060 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
9a080 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"
9a0a0 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/
9a0c0 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
9a0e0 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
9a100 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
9a120 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
9a140 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
9a160 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}
9a180 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).
9a1a0 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
9a1c0 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
9a1e0 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
9a200 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
9a220 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
9a240 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)
9a260 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
9a280 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"."
9a2a0 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
9a2c0 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.
9a2e0 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)).....@
9a300 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
9a320 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
9a340 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
9a360 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
9a380 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
9a3a0 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
9a3c0 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
9a3e0 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
9a400 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
9a420 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
9a440 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
9a460 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.(-
9a480 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).
9a4a0 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{}.
9a4c0 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
9a4e0 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}.@
9a500 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
9a520 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.
9a540 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.
9a560 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
9a580 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
9a5a0 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...
9a5c0 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{-
9a5e0 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
9a600 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)
9a620 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
9a640 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
9a660 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.@
9a680 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.(-
9a6a0 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").'("
9a6c0 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{}
9a6e0 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.
9a700 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}
9a720 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
9a740 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}
9a760 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
9a780 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
9a7a0 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,
9a7c0 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
9a7e0 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
9a800 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.(-
9a820 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
9a840 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.
9a860 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.
9a880 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))....
9a8a0 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.(
9a8c0 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
9a8e0 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
9a900 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.@
9a920 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{
9a940 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
9a960 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
9a980 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}
9a9a0 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
9a9c0 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
9a9e0 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?
9aa00 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
9aa20 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.(
9aa40 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.
9aa60 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).
9aa80 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
9aaa0 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").
9aac0 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
9aae0 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.
9ab00 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}.@
9ab20 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
9ab40 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
9ab60 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..
9ab80 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
9aba0 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
9abc0 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
9abe0 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
9ac00 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)
9ac20 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).
9ac40 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
9ac60 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
9ac80 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
9aca0 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
9acc0 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
9ace0 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
9ad00 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
9ad20 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
9ad40 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.
9ad60 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
9ad80 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
9ada0 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
9adc0 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
9ade0 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
9ae00 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.
9ae20 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)
9ae40 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
9ae60 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.
9ae80 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
9aea0 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
9aec0 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
9aee0 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
9af00 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
9af20 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
9af40 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
9af60 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
9af80 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}.
9afa0 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
9afc0 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{
9afe0 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..
9b000 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
9b020 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
9b040 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.
9b060 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.
9b080 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
9b0a0 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
9b0c0 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.
9b0e0 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
9b100 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
9b120 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.
9b140 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
9b160 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.
9b180 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.@
9b1a0 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
9b1c0 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
9b1e0 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.().()).
9b200 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
9b220 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
9b240 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
9b260 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.
9b280 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.
9b2a0 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.
9b2c0 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
9b2e0 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).
9b300 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
9b320 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.
9b340 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
9b360 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
9b380 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
9b3a0 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
9b3c0 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
9b3e0 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.
9b400 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.
9b420 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{}.().
9b440 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
9b460 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
9b480 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
9b4a0 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
9b4c0 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
9b4e0 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}...
9b500 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.())..
9b520 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
9b540 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
9b560 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)
9b580 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.@
9b5a0 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{
9b5c0 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
9b5e0 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
9b600 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
9b620 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
9b640 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
9b660 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{}
9b680 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
9b6a0 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
9b6c0 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)
9b6e0 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
9b700 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
9b720 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
9b740 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.
9b760 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
9b780 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
9b7a0 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-
9b7c0 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:.@
9b7e0 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
9b800 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
9b820 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.
9b840 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
9b860 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
9b880 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.
9b8a0 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
9b8c0 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
9b8e0 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.
9b900 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
9b920 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}.
9b940 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.@
9b960 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.
9b980 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
9b9a0 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
9b9c0 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
9b9e0 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
9ba00 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.@
9ba20 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.
9ba40 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
9ba60 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.
9ba80 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{}.
9baa0 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.
9bac0 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
9bae0 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
9bb00 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
9bb20 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
9bb40 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
9bb60 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
9bb80 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
9bba0 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)..
9bbc0 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
9bbe0 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{}
9bc00 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
9bc20 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.
9bc40 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
9bc60 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
9bc80 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
9bca0 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
9bcc0 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
9bce0 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.
9bd00 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
9bd20 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
9bd40 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
9bd60 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
9bd80 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
9bda0 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
9bdc0 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
9bde0 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
9be00 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
9be20 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.
9be40 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
9be60 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
9be80 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...
9bea0 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
9bec0 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..
9bee0 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)
9bf00 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
9bf20 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.
9bf40 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)
9bf60 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.
9bf80 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.
9bfa0 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
9bfc0 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
9bfe0 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).
9c000 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
9c020 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
9c040 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
9c060 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
9c080 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."-".
9c0a0 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
9c0c0 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."-".'(
9c0e0 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"
9c100 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
9c120 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
9c140 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.(&
9c160 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
9c180 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
9c1a0 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
9c1c0 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
9c1e0 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").
9c200 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.'
9c220 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"))....
9c240 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")
9c260 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.
9c280 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
9c2a0 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
9c2c0 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
9c2e0 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
9c300 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
9c320 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
9c340 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
9c360 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.
9c380 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
9c3a0 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.
9c3c0 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
9c3e0 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}
9c400 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
9c420 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
9c440 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
9c460 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
9c480 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.
9c4a0 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
9c4c0 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
9c4e0 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
9c500 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
9c520 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
9c540 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
9c560 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
9c580 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
9c5a0 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{
9c5c0 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
9c5e0 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
9c600 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
9c620 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.
9c640 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
9c660 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.
9c680 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
9c6a0 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-
9c6c0 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)).....@
9c6e0 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
9c700 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
9c720 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
9c740 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
9c760 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.".
9c780 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
9c7a0 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
9c7c0 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
9c7e0 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
9c800 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
9c820 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}.
9c840 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
9c860 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
9c880 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.
9c8a0 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
9c8c0 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
9c8e0 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
9c900 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
9c920 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
9c940 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
9c960 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
9c980 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
9c9a0 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
9c9c0 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
9c9e0 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-
9ca00 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
9ca20 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
9ca40 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)
9ca60 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)
9ca80 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
9caa0 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
9cac0 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)).@
9cae0 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).'(
9cb00 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
9cb20 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
9cb40 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
9cb60 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
9cb80 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
9cba0 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
9cbc0 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
9cbe0 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
9cc00 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
9cc20 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
9cc40 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
9cc60 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
9cc80 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
9cca0 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
9ccc0 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...
9cce0 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
9cd00 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
9cd20 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
9cd40 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
9cd60 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).'(
9cd80 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).(
9cda0 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.(-
9cdc0 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)).
9cde0 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
9ce00 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
9ce20 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.
9ce40 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
9ce60 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}.
9ce80 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
9cea0 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
9cec0 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.
9cee0 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
9cf00 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.
9cf20 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
9cf40 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
9cf60 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.@
9cf80 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
9cfa0 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
9cfc0 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{
9cfe0 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
9d000 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
9d020 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
9d040 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
9d060 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
9d080 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
9d0a0 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
9d0c0 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
9d0e0 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
9d100 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
9d120 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:.
9d140 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
9d160 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.
9d180 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")))....
9d1a0 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"
9d1c0 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
9d1e0 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).(
9d200 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.
9d220 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
9d240 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))).....@
9d260 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.
9d280 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..@
9d2a0 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
9d2c0 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.
9d2e0 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
9d300 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
9d320 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
9d340 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
9d360 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)))....
9d380 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
9d3a0 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
9d3c0 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".
9d3e0 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
9d400 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))
9d420 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))
9d440 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
9d460 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.(
9d480 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.
9d4a0 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
9d4c0 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
9d4e0 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
9d500 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.(
9d520 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
9d540 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
9d560 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
9d580 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
9d5a0 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
9d5c0 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
9d5e0 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
9d600 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
9d620 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
9d640 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
9d660 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.
9d680 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
9d6a0 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
9d6c0 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
9d6e0 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
9d700 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
9d720 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
9d740 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
9d760 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}).
9d780 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.
9d7a0 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
9d7c0 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
9d7e0 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).(
9d800 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
9d820 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
9d840 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
9d860 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.(
9d880 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{}
9d8a0 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
9d8c0 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
9d8e0 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
9d900 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
9d920 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.&
9d940 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
9d960 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
9d980 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
9d9a0 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
9d9c0 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
9d9e0 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
9da00 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.
9da20 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
9da40 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
9da60 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,.
9da80 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
9daa0 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
9dac0 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-.
9dae0 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
9db00 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
9db20 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...
9db40 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
9db60 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}.
9db80 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
9dba0 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).'(
9dbc0 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.
9dbe0 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)
9dc00 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.
9dc20 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
9dc40 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.
9dc60 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.'-
9dc80 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.
9dca0 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
9dcc0 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
9dce0 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.
9dd00 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
9dd20 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
9dd40 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
9dd60 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
9dd80 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
9dda0 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.
9ddc0 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
9dde0 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
9de00 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'
9de20 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
9de40 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
9de60 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
9de80 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
9dea0 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{
9dec0 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
9dee0 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{
9df00 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
9df20 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
9df40 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.
9df60 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
9df80 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
9dfa0 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.
9dfc0 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.
9dfe0 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?.
9e000 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.
9e020 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
9e040 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
9e060 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
9e080 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
9e0a0 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
9e0c0 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)
9e0e0 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
9e100 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...
9e120 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}.(@
9e140 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
9e160 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})...@
9e180 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.
9e1a0 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
9e1c0 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
9e1e0 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
9e200 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.(
9e220 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).....@
9e240 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
9e260 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
9e280 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.(
9e2a0 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.
9e2c0 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}
9e2e0 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{
9e300 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
9e320 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
9e340 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
9e360 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
9e380 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.@
9e3a0 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{
9e3c0 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.
9e3e0 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.
9e400 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}
9e420 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{
9e440 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
9e460 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
9e480 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
9e4a0 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
9e4c0 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.@
9e4e0 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{
9e500 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
9e520 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.
9e540 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
9e560 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
9e580 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
9e5a0 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
9e5c0 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{}.
9e5e0 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
9e600 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
9e620 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
9e640 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-
9e660 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
9e680 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{
9e6a0 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:.@
9e6c0 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
9e6e0 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-
9e700 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{}
9e720 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
9e740 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
9e760 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
9e780 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
9e7a0 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
9e7c0 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
9e7e0 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
9e800 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
9e820 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)
9e840 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
9e860 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))).
9e880 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)
9e8a0 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
9e8c0 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
9e8e0 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
9e900 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
9e920 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
9e940 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))
9e960 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.
9e980 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
9e9a0 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
9e9c0 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.@
9e9e0 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
9ea00 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.(
9ea20 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}
9ea40 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
9ea60 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.
9ea80 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
9eaa0 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..
9eac0 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.
9eae0 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.
9eb00 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
9eb20 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
9eb40 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
9eb60 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.
9eb80 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.'>
9eba0 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)
9ebc0 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
9ebe0 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{}.
9ec00 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.
9ec20 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
9ec40 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
9ec60 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
9ec80 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
9eca0 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.
9ecc0 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.
9ece0 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
9ed00 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.@
9ed20 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
9ed40 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
9ed60 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
9ed80 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
9eda0 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
9edc0 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..
9ede0 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).....@
9ee00 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.(
9ee20 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.
9ee40 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))...
9ee60 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.@
9ee80 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{
9eea0 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
9eec0 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
9eee0 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
9ef00 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
9ef20 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
9ef40 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.
9ef60 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
9ef80 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).
9efa0 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
9efc0 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.@
9efe0 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
9f000 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)))).(--
9f020 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
9f040 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
9f060 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
9f080 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
9f0a0 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.
9f0c0 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
9f0e0 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
9f100 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
9f120 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
9f140 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
9f160 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
9f180 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
9f1a0 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
9f1c0 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.
9f1e0 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
9f200 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
9f220 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
9f240 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.
9f260 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
9f280 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
9f2a0 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.(-
9f2c0 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
9f2e0 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{}.
9f300 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
9f320 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
9f340 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.
9f360 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))))
9f380 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
9f3a0 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
9f3c0 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.(--
9f3e0 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
9f400 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]]])....
9f420 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]]
9f440 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
9f460 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.@
9f480 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
9f4a0 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.@
9f4c0 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{
9f4e0 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.
9f500 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
9f520 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)
9f540 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.
9f560 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-
9f580 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
9f5a0 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{
9f5c0 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.
9f5e0 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
9f600 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
9f620 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>"))...
9f640 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
9f660 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
9f680 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
9f6a0 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
9f6c0 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
9f6e0 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
9f700 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
9f720 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
9f740 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
9f760 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.
9f780 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
9f7a0 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
9f7c0 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
9f7e0 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
9f800 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
9f820 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-
9f840 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
9f860 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
9f880 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."
9f8a0 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))
9f8c0 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
9f8e0 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
9f900 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
9f920 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
9f940 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
9f960 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
9f980 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
9f9a0 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.
9f9c0 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.
9f9e0 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
9fa00 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.
9fa20 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
9fa40 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
9fa60 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
9fa80 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
9faa0 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
9fac0 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{
9fae0 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
9fb00 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
9fb20 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
9fb40 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...
9fb60 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
9fb80 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
9fba0 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
9fbc0 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
9fbe0 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
9fc00 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
9fc20 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
9fc40 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"))))..
9fc60 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
9fc80 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
9fca0 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
9fcc0 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.
9fce0 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
9fd00 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
9fd20 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
9fd40 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{
9fd60 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>
9fd80 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
9fda0 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
9fdc0 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
9fde0 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
9fe00 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
9fe20 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
9fe40 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}.
9fe60 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.
9fe80 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}
9fea0 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
9fec0 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
9fee0 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
9ff00 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...
9ff20 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.
9ff40 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
9ff60 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
9ff80 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.
9ffa0 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.
9ffc0 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
9ffe0 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
a0000 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
a0020 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
a0040 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
a0060 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
a0080 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
a00a0 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.
a00c0 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
a00e0 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{
a0100 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
a0120 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
a0140 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.
a0160 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
a0180 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.
a01a0 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
a01c0 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
a01e0 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
a0200 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{-
a0220 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-
a0240 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.
a0260 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
a0280 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.
a02a0 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
a02c0 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.
a02e0 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
a0300 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
a0320 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.
a0340 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
a0360 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
a0380 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))
a03a0 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))))
a03c0 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
a03e0 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
a0400 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-
a0420 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
a0440 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
a0460 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
a0480 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
a04a0 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
a04c0 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
a04e0 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.
a0500 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
a0520 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
a0540 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
a0560 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
a0580 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.
a05a0 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
a05c0 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
a05e0 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
a0600 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.
a0620 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
a0640 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.(-
a0660 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.'*
a0680 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))
a06a0 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
a06c0 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
a06e0 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
a0700 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))))....
a0720 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)).(
a0740 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
a0760 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
a0780 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
a07a0 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)).".->.".(
a07c0 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
a07e0 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).".:.@{"))).(
a0800 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
a0820 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-.
a0840 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).
a0860 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
a0880 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
a08a0 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
a08c0 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.:.@{
a08e0 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-
a0900 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@
a0920 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
a0940 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.
a0960 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
a0980 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
a09a0 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
a09c0 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.
a09e0 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
a0a00 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
a0a20 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.@
a0a40 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
a0a60 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
a0a80 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.
a0aa0 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
a0ac0 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
a0ae0 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.
a0b00 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
a0b20 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{->
a0b40 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.&
a0b60 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
a0b80 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.
a0ba0 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
a0bc0 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.
a0be0 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
a0c00 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
a0c20 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.
a0c40 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.(->.
a0c60 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).
a0c80 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).(
a0ca0 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{}.(
a0cc0 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.(-
a0ce0 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
a0d00 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)
a0d20 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
a0d40 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.->>.(
a0d60 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
a0d80 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..
a0da0 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.
a0dc0 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
a0de0 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
a0e00 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
a0e20 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
a0e40 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
a0e60 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
a0e80 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
a0ea0 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).(-
a0ec0 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?))..
a0ee0 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
a0f00 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
a0f20 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
a0f40 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
a0f60 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.-->.(
a0f80 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
a0fa0 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
a0fc0 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}...
a0fe0 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
a1000 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}
a1020 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
a1040 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
a1060 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
a1080 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
a10a0 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".(
a10c0 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
a10e0 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
a1100 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.
a1120 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{
a1140 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.
a1160 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
a1180 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
a11a0 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
a11c0 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
a11e0 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
a1200 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
a1220 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
a1240 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
a1260 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}
a1280 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
a12a0 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.
a12c0 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
a12e0 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
a1300 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
a1320 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))..
a1340 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
a1360 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
a1380 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->.
a13a0 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
a13c0 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..@
a13e0 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->.
a1400 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
a1420 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
a1440 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{
a1460 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
a1480 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.
a14a0 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
a14c0 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{
a14e0 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
a1500 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.
a1520 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
a1540 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
a1560 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
a1580 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
a15a0 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
a15c0 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.
a15e0 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.@
a1600 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
a1620 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
a1640 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
a1660 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
a1680 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)
a16a0 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
a16c0 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))...
a16e0 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
a1700 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
a1720 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.@
a1740 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
a1760 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
a1780 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
a17a0 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}.
a17c0 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
a17e0 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.
a1800 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,
a1820 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
a1840 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
a1860 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.
a1880 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
a18a0 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
a18c0 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
a18e0 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
a1900 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
a1920 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.
a1940 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).(-
a1960 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.
a1980 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{
a19a0 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
a19c0 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
a19e0 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
a1a00 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
a1a20 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{
a1a40 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
a1a60 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
a1a80 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
a1aa0 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{->}
a1ac0 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
a1ae0 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
a1b00 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
a1b20 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
a1b40 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)..
a1b60 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
a1b80 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).
a1ba0 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
a1bc0 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.
a1be0 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
a1c00 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.@
a1c20 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
a1c40 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
a1c60 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
a1c80 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
a1ca0 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
a1cc0 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.((
a1ce0 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
a1d00 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.
a1d20 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...
a1d40 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.
a1d60 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})...
a1d80 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
a1da0 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"
a1dc0 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
a1de0 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
a1e00 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
a1e20 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
a1e40 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.(
a1e60 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
a1e80 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
a1ea0 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.
a1ec0 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
a1ee0 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
a1f00 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
a1f20 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
a1f40 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.
a1f60 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
a1f80 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
a1fa0 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
a1fc0 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*
a1fe0 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
a2000 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
a2020 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
a2040 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.
a2060 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
a2080 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
a20a0 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*.
a20c0 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))
a20e0 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
a2100 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{
a2120 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
a2140 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
a2160 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.
a2180 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},.
a21a0 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:.
a21c0 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
a21e0 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
a2200 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.
a2220 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
a2240 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.@
a2260 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
a2280 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
a22a0 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
a22c0 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-
a22e0 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)
a2300 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
a2320 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
a2340 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
a2360 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
a2380 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
a23a0 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
a23c0 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
a23e0 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*})..
a2400 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
a2420 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
a2440 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
a2460 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
a2480 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
a24a0 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
a24c0 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).(
a24e0 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")..
a2500 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
a2520 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
a2540 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.
a2560 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..
a2580 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
a25a0 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
a25c0 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
a25e0 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
a2600 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.(@
a2620 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
a2640 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
a2660 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
a2680 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
a26a0 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}.
a26c0 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.
a26e0 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
a2700 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
a2720 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-
a2740 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
a2760 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
a2780 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
a27a0 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
a27c0 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}.
a27e0 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
a2800 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
a2820 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
a2840 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{
a2860 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{})
a2880 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
a28a0 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
a28c0 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
a28e0 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
a2900 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
a2920 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
a2940 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
a2960 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
a2980 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
a29a0 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
a29c0 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
a29e0 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
a2a00 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
a2a20 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
a2a40 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,
a2a60 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
a2a80 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
a2aa0 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:
a2ac0 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
a2ae0 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
a2b00 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
a2b20 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.
a2b40 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).
a2b60 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
a2b80 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)
a2ba0 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
a2bc0 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
a2be0 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
a2c00 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{
a2c20 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{}..
a2c40 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).-
a2c60 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.
a2c80 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].
a2ca0 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
a2cc0 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
a2ce0 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
a2d00 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
a2d20 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
a2d40 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.
a2d60 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
a2d80 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{}........
a2da0 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}
a2dc0 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
a2de0 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....................
a2e00 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.
a2e20 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
a2e40 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.
a2e60 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
a2e80 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.....[
a2ea0 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
a2ec0 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...
a2ee0 20 20 20 20 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.
a2f00 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
a2f20 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
a2f40 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
a2f60 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...........................
a2f80 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..
a2fa0 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
a2fc0 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).-.
a2fe0 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
a3000 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 ................................
a3020 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.
a3040 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.............................
a3060 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
a3080 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..............................
a30a0 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
a30c0 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.@
a30e0 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
a3100 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..............
a3120 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}
a3140 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...........
a3160 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.
a3180 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............
a31a0 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
a31c0 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
a31e0 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
a3200 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.
a3220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
a3240 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...
a3260 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..........................
a3280 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
a32a0 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............................
a32c0 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
a32e0 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
a3300 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
a3320 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
a3340 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.
a3360 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
a3380 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
a33a0 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
a33c0 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
a33e0 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.
a3400 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
a3420 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
a3440 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
a3460 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
a3480 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.
a34a0 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
a34c0 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
a34e0 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
a3500 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{
a3520 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
a3540 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
a3560 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
a3580 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
a35a0 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.
a35c0 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
a35e0 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
a3600 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.
a3620 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.
a3640 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
a3660 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.
a3680 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
a36a0 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
a36c0 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
a36e0 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....
a3700 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
a3720 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)
a3740 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.
a3760 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.
a3780 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
a37a0 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
a37c0 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.
a37e0 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
a3800 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
a3820 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
a3840 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
a3860 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
a3880 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.
a38a0 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
a38c0 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)
a38e0 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.
a3900 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
a3920 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
a3940 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}
a3960 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
a3980 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
a39a0 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
a39c0 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).
a39e0 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
a3a00 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.
a3a20 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{
a3a40 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._
a3a60 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.
a3a80 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
a3aa0 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
a3ac0 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
a3ae0 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.@
a3b00 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.(
a3b20 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
a3b40 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
a3b60 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.
a3b80 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.
a3ba0 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
a3bc0 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
a3be0 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
a3c00 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
a3c20 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
a3c40 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.
a3c60 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
a3c80 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.
a3ca0 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
a3cc0 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...
a3ce0 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
a3d00 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)
a3d20 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.
a3d40 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
a3d60 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.
a3d80 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
a3da0 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.
a3dc0 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.(
a3de0 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]))
a3e00 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{}.(
a3e20 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
a3e40 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)
a3e60 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{}.
a3e80 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
a3ea0 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
a3ec0 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.:
a3ee0 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
a3f00 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
a3f20 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*}.
a3f40 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
a3f60 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.@
a3f80 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
a3fa0 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
a3fc0 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}.
a3fe0 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
a4000 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
a4020 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
a4040 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
a4060 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
a4080 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
a40a0 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
a40c0 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
a40e0 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
a4100 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
a4120 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.@
a4140 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
a4160 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.
a4180 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...
a41a0 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.
a41c0 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
a41e0 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.(
a4200 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.
a4220 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)
a4240 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).
a4260 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
a4280 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
a42a0 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.'
a42c0 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
a42e0 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{}.(
a4300 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
a4320 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
a4340 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
a4360 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
a4380 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.@
a43a0 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
a43c0 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.
a43e0 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.
a4400 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:....
a4420 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
a4440 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
a4460 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
a4480 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.
a44a0 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
a44c0 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...
a44e0 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
a4500 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
a4520 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
a4540 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)
a4560 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
a4580 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
a45a0 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))
a45c0 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
a45e0 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.
a4600 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).(_...
a4620 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.
a4640 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
a4660 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
a4680 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.
a46a0 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
a46c0 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
a46e0 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
a4700 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
a4720 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}.(
a4740 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
a4760 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
a4780 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.
a47a0 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..
a47c0 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
a47e0 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
a4800 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).
a4820 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
a4840 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
a4860 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
a4880 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
a48a0 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
a48c0 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
a48e0 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).
a4900 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
a4920 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
a4940 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
a4960 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.
a4980 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.:
a49a0 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
a49c0 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
a49e0 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
a4a00 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.
a4a20 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.
a4a40 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
a4a60 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
a4a80 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;
a4aa0 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
a4ac0 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
a4ae0 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
a4b00 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
a4b20 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
a4b40 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
a4b60 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).
a4b80 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
a4ba0 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
a4bc0 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).(--
a4be0 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)...
a4c00 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.@
a4c20 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
a4c40 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.@
a4c60 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{
a4c80 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.
a4ca0 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.
a4cc0 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
a4ce0 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.
a4d00 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
a4d20 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
a4d40 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
a4d60 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
a4d80 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..
a4da0 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
a4dc0 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
a4de0 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.
a4e00 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
a4e20 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
a4e40 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-
a4e60 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.
a4e80 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
a4ea0 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)).(--
a4ec0 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).(
a4ee0 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
a4f00 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
a4f20 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}.
a4f40 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
a4f60 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
a4f80 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.@
a4fa0 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
a4fc0 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}.@
a4fe0 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
a5000 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
a5020 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
a5040 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
a5060 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)
a5080 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
a50a0 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).
a50c0 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)
a50e0 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).(--
a5100 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
a5120 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
a5140 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
a5160 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
a5180 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
a51a0 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.@
a51c0 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
a51e0 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
a5200 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}
a5220 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;.
a5240 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
a5260 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
a5280 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
a52a0 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.'(
a52c0 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))).
a52e0 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
a5300 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.'(
a5320 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
a5340 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.(
a5360 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)....
a5380 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
a53a0 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
a53c0 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.(
a53e0 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
a5400 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{
a5420 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
a5440 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
a5460 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
a5480 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.
a54a0 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
a54c0 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
a54e0 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
a5500 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
a5520 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-
a5540 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
a5560 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
a5580 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
a55a0 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).(>=
a55c0 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
a55e0 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
a5600 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.
a5620 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)))
a5640 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.
a5660 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
a5680 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.
a56a0 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
a56c0 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..
a56e0 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
a5700 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
a5720 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.@
a5740 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
a5760 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
a5780 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
a57a0 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
a57c0 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).
a57e0 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.
a5800 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
a5820 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
a5840 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)
a5860 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
a5880 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.
a58a0 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
a58c0 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
a58e0 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
a5900 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
a5920 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
a5940 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
a5960 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
a5980 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
a59a0 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
a59c0 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.
a59e0 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
a5a00 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
a5a20 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
a5a40 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
a5a60 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
a5a80 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}.
a5aa0 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
a5ac0 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
a5ae0 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
a5b00 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
a5b20 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
a5b40 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..@
a5b60 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
a5b80 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
a5ba0 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
a5bc0 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
a5be0 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
a5c00 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.
a5c20 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}
a5c40 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.
a5c60 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
a5c80 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
a5ca0 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
a5cc0 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.
a5ce0 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
a5d00 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
a5d20 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...@
a5d40 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
a5d60 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
a5d80 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.#
a5da0 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
a5dc0 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.#'
a5de0 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.
a5e00 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..@
a5e20 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
a5e40 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
a5e60 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
a5e80 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
a5ea0 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.@
a5ec0 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
a5ee0 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
a5f00 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{
a5f20 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
a5f40 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
a5f60 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
a5f80 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
a5fa0 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
a5fc0 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
a5fe0 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
a6000 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
a6020 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
a6040 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
a6060 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
a6080 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
a60a0 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
a60c0 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
a60e0 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
a6100 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
a6120 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
a6140 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
a6160 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.
a6180 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
a61a0 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
a61c0 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...@
a61e0 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).
a6200 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
a6220 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.#'+.#'-.
a6240 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.
a6260 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
a6280 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+
a62a0 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)
a62c0 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
a62e0 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}.
a6300 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
a6320 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
a6340 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
a6360 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
a6380 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
a63a0 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
a63c0 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
a63e0 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
a6400 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
a6420 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
a6440 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
a6460 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
a6480 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
a64a0 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
a64c0 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
a64e0 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).
a6500 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
a6520 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
a6540 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
a6560 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
a6580 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
a65a0 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
a65c0 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
a65e0 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.
a6600 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
a6620 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.
a6640 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
a6660 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
a6680 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.#'+)
a66a0 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
a66c0 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.#'+).'
a66e0 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))).....@
a6700 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
a6720 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.
a6740 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.@
a6760 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{
a6780 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
a67a0 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
a67c0 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.
a67e0 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
a6800 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
a6820 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
a6840 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
a6860 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
a6880 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},
a68a0 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
a68c0 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
a68e0 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:....
a6900 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).=
a6920 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
a6940 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+)).......=.(+)
a6960 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.#'
a6980 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))
a69a0 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.
a69c0 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.(
a69e0 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
a6a00 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
a6a20 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
a6a40 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.
a6a60 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
a6a80 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
a6aa0 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
a6ac0 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
a6ae0 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
a6b00 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
a6b20 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{
a6b40 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
a6b60 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
a6b80 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.#'-)
a6ba0 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
a6bc0 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
a6be0 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.(
a6c00 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
a6c20 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
a6c40 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).
a6c60 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
a6c80 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).....@
a6ca0 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
a6cc0 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
a6ce0 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).
a6d00 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
a6d20 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}.
a6d40 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
a6d60 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
a6d80 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
a6da0 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}
a6dc0 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
a6de0 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
a6e00 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
a6e20 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
a6e40 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
a6e60 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
a6e80 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
a6ea0 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).
a6ec0 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
a6ee0 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
a6f00 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
a6f20 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.
a6f40 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.
a6f60 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.
a6f80 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
a6fa0 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.
a6fc0 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
a6fe0 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.
a7000 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
a7020 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
a7040 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
a7060 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"
a7080 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.
a70a0 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
a70c0 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"))).....@
a70e0 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
a7100 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
a7120 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-
a7140 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
a7160 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
a7180 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
a71a0 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}
a71c0 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
a71e0 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.
a7200 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{}.
a7220 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.(-
a7240 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-.
a7260 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
a7280 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
a72a0 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
a72c0 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{}.(
a72e0 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
a7300 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..@
a7320 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).
a7340 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.
a7360 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
a7380 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
a73a0 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
a73c0 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
a73e0 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.
a7400 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}.(@
a7420 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}.
a7440 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
a7460 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")
a7480 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
a74a0 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
a74c0 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
a74e0 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.(-
a7500 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.
a7520 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
a7540 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..
a7560 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
a7580 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
a75a0 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
a75c0 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.
a75e0 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
a7600 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
a7620 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.
a7640 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
a7660 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
a7680 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
a76a0 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{
a76c0 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
a76e0 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.
a7700 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
a7720 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})
a7740 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}).
a7760 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
a7780 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.
a77a0 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.
a77c0 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
a77e0 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-
a7800 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
a7820 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
a7840 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
a7860 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.
a7880 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
a78a0 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
a78c0 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.
a78e0 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
a7900 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
a7920 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
a7940 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.
a7960 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.
a7980 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,.
a79a0 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
a79c0 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
a79e0 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
a7a00 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
a7a20 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}.
a7a40 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
a7a60 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
a7a80 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
a7aa0 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
a7ac0 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.(
a7ae0 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))...
a7b00 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
a7b20 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.#'
a7b40 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
a7b60 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
a7b80 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)....
a7ba0 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
a7bc0 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
a7be0 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
a7c00 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
a7c20 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
a7c40 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.
a7c60 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
a7c80 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}.
a7ca0 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
a7cc0 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
a7ce0 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
a7d00 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
a7d20 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
a7d40 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
a7d60 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).=.
a7d80 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
a7da0 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
a7dc0 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
a7de0 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.
a7e00 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
a7e20 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
a7e40 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
a7e60 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
a7e80 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
a7ea0 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}
a7ec0 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
a7ee0 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
a7f00 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
a7f20 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
a7f40 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
a7f60 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
a7f80 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
a7fa0 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
a7fc0 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.
a7fe0 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
a8000 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.
a8020 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
a8040 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
a8060 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
a8080 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
a80a0 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
a80c0 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
a80e0 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
a8100 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
a8120 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
a8140 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
a8160 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
a8180 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
a81a0 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},.....
a81c0 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
a81e0 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}.
a8200 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
a8220 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
a8240 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
a8260 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
a8280 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
a82a0 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
a82c0 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
a82e0 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
a8300 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
a8320 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
a8340 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.@
a8360 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
a8380 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.
a83a0 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
a83c0 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
a83e0 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{}
a8400 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.@
a8420 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.(
a8440 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)..
a8460 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.
a8480 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
a84a0 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
a84c0 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.@
a84e0 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{
a8500 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
a8520 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
a8540 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.
a8560 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
a8580 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
a85a0 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
a85c0 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):.
a85e0 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).-
a8600 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
a8620 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
a8640 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
a8660 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
a8680 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
a86a0 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{}).=.
a86c0 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
a86e0 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
a8700 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
a8720 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
a8740 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').
a8760 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
a8780 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
a87a0 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
a87c0 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
a87e0 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
a8800 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
a8820 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
a8840 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
a8860 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
a8880 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
a88a0 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
a88c0 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
a88e0 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
a8900 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
a8920 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.
a8940 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
a8960 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
a8980 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
a89a0 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::
a89c0 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
a89e0 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
a8a00 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
a8a20 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,
a8a40 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
a8a60 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,
a8a80 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
a8aa0 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
a8ac0 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.
a8ae0 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.
a8b00 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
a8b20 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
a8b40 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
a8b60 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
a8b80 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
a8ba0 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
a8bc0 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
a8be0 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
a8c00 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
a8c20 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.
a8c40 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
a8c60 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
a8c80 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...
a8ca0 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
a8cc0 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
a8ce0 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
a8d00 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
a8d20 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
a8d40 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
a8d60 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
a8d80 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.
a8da0 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
a8dc0 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
a8de0 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
a8e00 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.
a8e20 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
a8e40 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
a8e60 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.@
a8e80 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
a8ea0 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{
a8ec0 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
a8ee0 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
a8f00 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
a8f20 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
a8f40 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
a8f60 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
a8f80 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
a8fa0 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
a8fc0 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
a8fe0 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}
a9000 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
a9020 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-
a9040 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
a9060 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
a9080 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
a90a0 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}.
a90c0 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
a90e0 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
a9100 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}
a9120 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
a9140 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
a9160 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
a9180 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
a91a0 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
a91c0 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
a91e0 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
a9200 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
a9220 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
a9240 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
a9260 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
a9280 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
a92a0 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
a92c0 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
a92e0 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
a9300 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
a9320 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
a9340 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
a9360 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
a9380 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
a93a0 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
a93c0 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
a93e0 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
a9400 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
a9420 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.
a9440 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
a9460 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->
a9480 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.@
a94a0 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
a94c0 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
a94e0 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},.
a9500 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
a9520 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
a9540 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
a9560 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
a9580 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
a95a0 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
a95c0 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...@
a95e0 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
a9600 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.
a9620 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
a9640 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
a9660 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
a9680 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.@
a96a0 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.
a96c0 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...........................
a96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................