1 \input texinfo @c -*-texinfo-*-
3 @setfilename alexandria.info
4 @settitle Alexandria Manual
7 @settitle Alexandria Manual -- draft version
10 @dircategory Software development
12 * alexandria: Common Lisp utilities.
17 Alexandria software and associated documentation are in the public
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.
35 In those legislations where public domain dedications are not
36 recognized or possible, Alexandria is distributed under the following
39 Permission is hereby granted, free of charge, to any person
40 obtaining a copy of this software and associated documentation files
41 (the "Software"), to deal in the Software without restriction,
42 including without limitation the rights to use, copy, modify, merge,
43 publish, distribute, sublicense, and/or sell copies of the Software,
44 and to permit persons to whom the Software is furnished to do so,
45 subject to the following conditions:
47 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
48 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
49 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
50 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
51 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
52 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
53 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
59 @title Alexandria Manual
60 @subtitle draft version
62 @c The following two commands start the copyright page.
64 @vskip 0pt plus 1filll
74 * Hash Table Utilities::
75 * Higher Order Functions::
77 * Sequence Manipulation::
78 * Macro Writing Utilities::
81 * Type Designator Manipulation::
82 * Mathematical Utilities::
87 @comment node-name, next, previous, up
97 @node Hash Table Utilities
98 @comment node-name, next, previous, up
99 @section Hash Table Utilities
101 @include include/fun-alexandria-copy-hash-table.texinfo
102 @include include/fun-alexandria-maphash-keys.texinfo
103 @include include/fun-alexandria-maphash-values.texinfo
104 @include include/fun-alexandria-hash-table-keys.texinfo
105 @include include/fun-alexandria-hash-table-values.texinfo
106 @include include/fun-alexandria-hash-table-alist.texinfo
107 @include include/fun-alexandria-hash-table-plist.texinfo
108 @include include/fun-alexandria-alist-hash-table.texinfo
109 @include include/fun-alexandria-plist-hash-table.texinfo
111 @node Higher Order Functions
112 @comment node-name, next, previous, up
113 @section Higher Order Functions
115 @include include/fun-alexandria-disjoin.texinfo
116 @include include/fun-alexandria-conjoin.texinfo
117 @include include/fun-alexandria-compose.texinfo
118 @include include/fun-alexandria-multiple-value-compose.texinfo
119 @include include/fun-alexandria-curry.texinfo
120 @include include/fun-alexandria-rcurry.texinfo
122 @node List Manipulation
123 @comment node-name, next, previous, up
124 @section List Manipulation
126 @include include/type-alexandria-proper-list.texinfo
127 @include include/type-alexandria-circular-list.texinfo
128 @include include/macro-alexandria-appendf.texinfo
129 @include include/macro-alexandria-nconcf.texinfo
130 @include include/fun-alexandria-circular-list.texinfo
131 @include include/fun-alexandria-circular-list-p.texinfo
132 @include include/fun-alexandria-circular-tree-p.texinfo
133 @include include/fun-alexandria-proper-list-p.texinfo
134 @include include/fun-alexandria-lastcar.texinfo
135 @include include/fun-alexandria-setf-lastcar.texinfo
136 @include include/fun-alexandria-make-circular-list.texinfo
137 @include include/fun-alexandria-ensure-list.texinfo
138 @include include/fun-alexandria-sans.texinfo
139 @include include/fun-alexandria-mappend.texinfo
140 @include include/fun-alexandria-map-product.texinfo
141 @include include/fun-alexandria-set-equal.texinfo
142 @include include/fun-alexandria-setp.texinfo
143 @include include/fun-alexandria-flatten.texinfo
145 @node Sequence Manipulation
146 @comment node-name, next, previous, up
147 @section Sequence Manipulation
149 @include include/type-alexandria-proper-sequence.texinfo
151 @include include/macro-alexandria-deletef.texinfo
152 @include include/macro-alexandria-removef.texinfo
154 @include include/fun-alexandria-rotate.texinfo
155 @include include/fun-alexandria-suffle.texinfo
156 @include include/fun-alexandria-random-elt.texinfo
157 @include include/fun-alexandria-emptyp.texinfo
158 @include include/fun-alexandria-sequence-of-length-p.texinfo
159 @include include/fun-alexandria-copy-sequence.texinfo
160 @include include/fun-alexandria-first-elt.texinfo
161 @include include/fun-alexandria-setf-first-elt.texinfo
162 @include include/fun-alexandria-last-elt.texinfo
163 @include include/fun-alexandria-setf-last-elt.texinfo
164 @include include/fun-alexandria-starts-with.texinfo
165 @include include/fun-alexandria-ends-with.texinfo
167 @node Macro Writing Utilities
168 @comment node-name, next, previous, up
169 @section Macro Writing Utilities
171 @include include/macro-alexandria-with-unique-names.texinfo
172 @include include/macro-alexandria-once-only.texinfo
174 @node Symbol Utilities
175 @comment node-name, next, previous, up
176 @section Symbol Utilities
178 @include include/fun-alexandria-ensure-symbol.texinfo
179 @include include/fun-alexandria-format-symbol.texinfo
180 @include include/fun-alexandria-make-keyword.texinfo
181 @include include/fun-alexandria-make-gensym-list.texinfo
183 @node Array Utilities
184 @comment node-name, next, previous, up
185 @section Array Utilities
187 @include include/type-alexandria-array-index.texinfo
188 @include include/fun-alexandria-copy-array.texinfo
190 @node Type Designator Manipulation
191 @comment node-name, next, previous, up
192 @section Type Designator Manipulation
194 @include include/fun-alexandria-of-type.texinfo
195 @include include/fun-alexandria-type-equal.texinfo
196 @include include/macro-alexandria-coercef.texinfo
198 @node Mathematical Utilities
199 @comment node-name, next, previous, up
200 @section Mathematical Utilities
202 @include include/macro-alexandria-maxf.texinfo
203 @include include/macro-alexandria-minf.texinfo
205 @include include/fun-alexandria-clamp.texinfo
206 @include include/fun-alexandria-lerp.texinfo
207 @include include/fun-alexandria-gaussian-random.texinfo
208 @include include/fun-alexandria-iota.texinfo
209 @include include/fun-alexandria-mean.texinfo
210 @include include/fun-alexandria-median.texinfo
211 @include include/fun-alexandria-variance.texinfo
212 @include include/fun-alexandria-standard-deviation.texinfo
214 @c FIXME: get a better section name
216 @comment node-name, next, previous, up
219 @include include/fun-alexandria-featurep.texinfo