Optimize DELETE-FROM-PLIST not to cons.
[alexandria.git] / doc / alexandria.texinfo
blob4468b0e994b39b667e2c090892454a4f7f255b97
1 \input texinfo   @c -*-texinfo-*-
2 @c %**start of header
3 @setfilename alexandria.info
4 @settitle Alexandria Manual
5 @c %**end of header
7 @settitle Alexandria Manual -- draft version
9 @c for install-info
10 @dircategory Software development
11 @direntry
12 * alexandria:           Common Lisp utilities.
13 @end direntry
15 @copying
16 Alexandria software and associated documentation are in the public
17 domain:
19 @quotation
20   Authors dedicate this work to public domain, for the benefit of the
21   public at large and to the detriment of the authors' heirs and
22   successors. Authors intends this dedication to be an overt act of
23   relinquishment in perpetuity of all present and future rights under
24   copyright law, whether vested or contingent, in the work. Authors
25   understands that such relinquishment of all rights includes the
26   relinquishment of all rights to enforce (by lawsuit or otherwise)
27   those copyrights in the work.
29   Authors recognize that, once placed in the public domain, the work
30   may be freely reproduced, distributed, transmitted, used, modified,
31   built upon, or otherwise exploited by anyone for any purpose,
32   commercial or non-commercial, and in any way, including by methods
33   that have not yet been invented or conceived.
34 @end quotation
36 In those legislations where public domain dedications are not
37 recognized or possible, Alexandria is distributed under the following
38 terms and conditions:
40 @quotation
41   Permission is hereby granted, free of charge, to any person
42   obtaining a copy of this software and associated documentation files
43   (the "Software"), to deal in the Software without restriction,
44   including without limitation the rights to use, copy, modify, merge,
45   publish, distribute, sublicense, and/or sell copies of the Software,
46   and to permit persons to whom the Software is furnished to do so,
47   subject to the following conditions:
49   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
50   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
51   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
52   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
53   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
54   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
55   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
56 @end quotation
57 @end copying
59 @titlepage
61 @title Alexandria Manual
62 @subtitle draft version
64 @c The following two commands start the copyright page.
65 @page
66 @vskip 0pt plus 1filll
67 @insertcopying
69 @end titlepage
71 @contents
73 @ifnottex
75 @include include/ifnottex.texinfo
77 @node Top
78 @comment  node-name,  next,  previous,  up
79 @top Alexandria
81 @insertcopying
83 @menu
84 * Hash Tables::
85 * Data and Control Flow::
86 * Conses::
87 * Sequences::
88 * IO::
89 * Macro Writing::
90 * Symbols::
91 * Arrays::
92 * Types::
93 * Numbers::
94 @end menu
96 @end ifnottex
98 @node Hash Tables
99 @comment  node-name,  next,  previous,  up
100 @chapter Hash Tables
102 @include include/macro-alexandria-ensure-gethash.texinfo
103 @include include/fun-alexandria-copy-hash-table.texinfo
104 @include include/fun-alexandria-maphash-keys.texinfo
105 @include include/fun-alexandria-maphash-values.texinfo
106 @include include/fun-alexandria-hash-table-keys.texinfo
107 @include include/fun-alexandria-hash-table-values.texinfo
108 @include include/fun-alexandria-hash-table-alist.texinfo
109 @include include/fun-alexandria-hash-table-plist.texinfo
110 @include include/fun-alexandria-alist-hash-table.texinfo
111 @include include/fun-alexandria-plist-hash-table.texinfo
113 @node Data and Control Flow
114 @comment  node-name,  next,  previous,  up
115 @chapter Data and Control Flow
117 @include include/macro-alexandria-define-constant.texinfo
118 @include include/macro-alexandria-destructuring-case.texinfo
119 @include include/macro-alexandria-ensure-functionf.texinfo
120 @include include/macro-alexandria-multiple-value-prog2.texinfo
121 @include include/macro-alexandria-named-lambda.texinfo
122 @include include/macro-alexandria-nth-value-or.texinfo
123 @include include/macro-alexandria-if-let.texinfo
124 @include include/macro-alexandria-when-let.texinfo
125 @include include/macro-alexandria-when-let-star.texinfo
126 @include include/macro-alexandria-switch.texinfo
127 @include include/macro-alexandria-cswitch.texinfo
128 @include include/macro-alexandria-eswitch.texinfo
129 @include include/macro-alexandria-whichever.texinfo
130 @include include/macro-alexandria-xor.texinfo
132 @include include/fun-alexandria-disjoin.texinfo
133 @include include/fun-alexandria-conjoin.texinfo
134 @include include/fun-alexandria-compose.texinfo
135 @include include/fun-alexandria-ensure-function.texinfo
136 @include include/fun-alexandria-multiple-value-compose.texinfo
137 @include include/fun-alexandria-curry.texinfo
138 @include include/fun-alexandria-rcurry.texinfo
140 @node Conses
141 @comment  node-name,  next,  previous,  up
142 @chapter Conses
144 @include include/type-alexandria-proper-list.texinfo
145 @include include/type-alexandria-circular-list.texinfo
147 @include include/macro-alexandria-appendf.texinfo
148 @include include/macro-alexandria-nconcf.texinfo
149 @include include/macro-alexandria-remove-from-plistf.texinfo
150 @include include/macro-alexandria-delete-from-plistf.texinfo
151 @include include/macro-alexandria-reversef.texinfo
152 @include include/macro-alexandria-nreversef.texinfo
153 @include include/macro-alexandria-unionf.texinfo
154 @include include/macro-alexandria-nunionf.texinfo
156 @include include/macro-alexandria-doplist.texinfo
158 @include include/fun-alexandria-circular-list-p.texinfo
159 @include include/fun-alexandria-circular-tree-p.texinfo
160 @include include/fun-alexandria-proper-list-p.texinfo
162 @include include/fun-alexandria-alist-plist.texinfo
163 @include include/fun-alexandria-plist-alist.texinfo
164 @include include/fun-alexandria-circular-list.texinfo
165 @include include/fun-alexandria-make-circular-list.texinfo
166 @include include/fun-alexandria-ensure-car.texinfo
167 @include include/fun-alexandria-ensure-cons.texinfo
168 @include include/fun-alexandria-ensure-list.texinfo
169 @include include/fun-alexandria-flatten.texinfo
170 @include include/fun-alexandria-lastcar.texinfo
171 @include include/fun-alexandria-setf-lastcar.texinfo
172 @include include/fun-alexandria-proper-list-length.texinfo
173 @include include/fun-alexandria-mappend.texinfo
174 @include include/fun-alexandria-map-product.texinfo
175 @include include/fun-alexandria-remove-from-plist.texinfo
176 @include include/fun-alexandria-delete-from-plist.texinfo
177 @include include/fun-alexandria-set-equal.texinfo
178 @include include/fun-alexandria-setp.texinfo
180 @node Sequences
181 @comment  node-name,  next,  previous,  up
182 @chapter Sequences
184 @include include/type-alexandria-proper-sequence.texinfo
186 @include include/macro-alexandria-deletef.texinfo
187 @include include/macro-alexandria-removef.texinfo
189 @include include/fun-alexandria-rotate.texinfo
190 @include include/fun-alexandria-shuffle.texinfo
191 @include include/fun-alexandria-random-elt.texinfo
192 @include include/fun-alexandria-emptyp.texinfo
193 @include include/fun-alexandria-sequence-of-length-p.texinfo
194 @include include/fun-alexandria-length-equals.texinfo
195 @include include/fun-alexandria-copy-sequence.texinfo
196 @include include/fun-alexandria-first-elt.texinfo
197 @include include/fun-alexandria-setf-first-elt.texinfo
198 @include include/fun-alexandria-last-elt.texinfo
199 @include include/fun-alexandria-setf-last-elt.texinfo
200 @include include/fun-alexandria-starts-with.texinfo
201 @include include/fun-alexandria-starts-with-subseq.texinfo
202 @include include/fun-alexandria-ends-with.texinfo
203 @include include/fun-alexandria-ends-with-subseq.texinfo
204 @include include/fun-alexandria-map-combinations.texinfo
205 @include include/fun-alexandria-map-derangements.texinfo
206 @include include/fun-alexandria-map-permutations.texinfo
208 @node IO
209 @comment  node-name,   next,  previous,  up
210 @chapter IO
212 @include include/fun-alexandria-read-file-into-string.texinfo
213 @include include/fun-alexandria-read-file-into-byte-vector.texinfo
215 @node Macro Writing
216 @comment  node-name,  next,  previous,  up
217 @chapter Macro Writing
219 @include include/macro-alexandria-once-only.texinfo
220 @include include/macro-alexandria-with-gensyms.texinfo
221 @include include/macro-alexandria-with-unique-names.texinfo
222 @include include/fun-alexandria-featurep.texinfo
223 @include include/fun-alexandria-parse-body.texinfo
224 @include include/fun-alexandria-parse-ordinary-lambda-list.texinfo
226 @node Symbols
227 @comment  node-name,  next,  previous,  up
228 @chapter Symbols
230 @include include/fun-alexandria-ensure-symbol.texinfo
231 @include include/fun-alexandria-format-symbol.texinfo
232 @include include/fun-alexandria-make-keyword.texinfo
233 @include include/fun-alexandria-make-gensym.texinfo
234 @include include/fun-alexandria-make-gensym-list.texinfo
235 @include include/fun-alexandria-symbolicate.texinfo
237 @node Arrays
238 @comment  node-name,  next,  previous,  up
239 @chapter Arrays
241 @include include/type-alexandria-array-index.texinfo
242 @include include/type-alexandria-array-length.texinfo
243 @include include/fun-alexandria-copy-array.texinfo
245 @node Types
246 @comment  node-name,  next,  previous,  up
247 @chapter Types
249 @include include/type-alexandria-string-designator.texinfo
250 @include include/macro-alexandria-coercef.texinfo
251 @include include/fun-alexandria-of-type.texinfo
252 @include include/fun-alexandria-type-equals.texinfo
254 @node Numbers
255 @comment  node-name,  next,  previous,  up
256 @chapter Numbers
258 @include include/macro-alexandria-maxf.texinfo
259 @include include/macro-alexandria-minf.texinfo
261 @include include/fun-alexandria-binomial-coefficient.texinfo
262 @include include/fun-alexandria-count-permutations.texinfo
263 @include include/fun-alexandria-clamp.texinfo
264 @include include/fun-alexandria-lerp.texinfo
265 @include include/fun-alexandria-factorial.texinfo
266 @include include/fun-alexandria-subfactorial.texinfo
267 @include include/fun-alexandria-gaussian-random.texinfo
268 @include include/fun-alexandria-iota.texinfo
269 @include include/fun-alexandria-map-iota.texinfo
270 @include include/fun-alexandria-mean.texinfo
271 @include include/fun-alexandria-median.texinfo
272 @include include/fun-alexandria-variance.texinfo
273 @include include/fun-alexandria-standard-deviation.texinfo
275 @bye