fix: assoc-value setter now always returns the new value
[alexandria.git] / doc / alexandria.texinfo
blobfc620dd18786ea1171ce3fa009317eaf1c9e8c41
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 @quotation
17 Alexandria software and associated documentation are in the public
18 domain:
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
37 terms and conditions:
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.
54 @end quotation
55 @end copying
57 @titlepage
59 @title Alexandria Manual
60 @subtitle draft version
62 @c The following two commands start the copyright page.
63 @page
64 @vskip 0pt plus 1filll
65 @insertcopying
67 @end titlepage
69 @contents
71 @ifnottex
73 @menu
74 * Hash Table Utilities::        
75 * Higher Order Functions::      
76 * List Manipulation::           
77 * Sequence Manipulation::       
78 * Macro Writing Utilities::     
79 * Symbol Utilities::            
80 * Array Utilities::             
81 * Type Designator Manipulation::  
82 * Mathematical Utilities::      
83 * Features::                    
84 @end menu
86 @node Top
87 @comment  node-name,  next,  previous,  up
88 @top sbcl
90 @insertcopying
92 @menu
93 @end menu
95 @end ifnottex
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
215 @node Features
216 @comment  node-name,  next,  previous,  up
217 @section Features
219 @include include/fun-alexandria-featurep.texinfo
221 @bye