@@ -134,7 +134,7 @@ <h2 id="arithmetic">Arithmetic</h2>
134134 < span class ="fn-type "> atomic</ span >
135135 </ div >
136136 < div class ="fn-desc "> Division. Integer division for integer arguments, float division otherwise.</ div >
137- < div class ="fn-example "> (< span class ="hl-fn "> /</ span > < span class ="hl-num "> 10</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 3</ span > < br > (< span class ="hl-fn "> /</ span > < span class ="hl-num "> 10.0</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 3.333... </ span > </ div >
137+ < div class ="fn-example "> (< span class ="hl-fn "> /</ span > < span class ="hl-num "> 10</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 3</ span > < br > (< span class ="hl-fn "> /</ span > < span class ="hl-num "> 10.0</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 3.0 </ span > </ div >
138138 </ div >
139139
140140 < div class ="fn-card ">
@@ -155,31 +155,13 @@ <h2 id="arithmetic">Arithmetic</h2>
155155 < div class ="fn-example "> (< span class ="hl-fn "> neg</ span > < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; -5</ span > < br > (< span class ="hl-fn "> neg</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> -2</ span > < span class ="hl-num "> 3</ span > ]) < span class ="hl-comment "> ; [-1 2 -3]</ span > </ div >
156156 </ div >
157157
158- < div class ="fn-card ">
159- < div class ="fn-card-header ">
160- < span class ="fn-name "> (abs x)</ span >
161- < span class ="fn-type "> atomic</ span >
162- </ div >
163- < div class ="fn-desc "> Absolute value.</ div >
164- < div class ="fn-example "> (< span class ="hl-fn "> abs</ span > < span class ="hl-num "> -7</ span > ) < span class ="hl-comment "> ; 7</ span > < br > (< span class ="hl-fn "> abs</ span > [< span class ="hl-num "> -3</ span > < span class ="hl-num "> 0</ span > < span class ="hl-num "> 5</ span > ]) < span class ="hl-comment "> ; [3 0 5]</ span > </ div >
165- </ div >
166-
167- < div class ="fn-card ">
168- < div class ="fn-card-header ">
169- < span class ="fn-name "> (sqrt x)</ span >
170- < span class ="fn-type "> atomic</ span >
171- </ div >
172- < div class ="fn-desc "> Square root. Returns float.</ div >
173- < div class ="fn-example "> (< span class ="hl-fn "> sqrt</ span > < span class ="hl-num "> 16</ span > ) < span class ="hl-comment "> ; 4.0</ span > < br > (< span class ="hl-fn "> sqrt</ span > [< span class ="hl-num "> 4</ span > < span class ="hl-num "> 9</ span > < span class ="hl-num "> 25</ span > ]) < span class ="hl-comment "> ; [2.0 3.0 5.0]</ span > </ div >
174- </ div >
175-
176158 < div class ="fn-card ">
177159 < div class ="fn-card-header ">
178160 < span class ="fn-name "> (round x)</ span >
179161 < span class ="fn-type "> atomic</ span >
180162 </ div >
181163 < div class ="fn-desc "> Round to nearest integer.</ div >
182- < div class ="fn-example "> (< span class ="hl-fn "> round</ span > < span class ="hl-num "> 3.7</ span > ) < span class ="hl-comment "> ; 4</ span > < br > (< span class ="hl-fn "> round</ span > [< span class ="hl-num "> 1.2</ span > < span class ="hl-num "> 2.5</ span > < span class ="hl-num "> 3.8</ span > ]) < span class ="hl-comment "> ; [1 3 4 ]</ span > </ div >
164+ < div class ="fn-example "> (< span class ="hl-fn "> round</ span > < span class ="hl-num "> 3.7</ span > ) < span class ="hl-comment "> ; 4.0 </ span > < br > (< span class ="hl-fn "> round</ span > [< span class ="hl-num "> 1.2</ span > < span class ="hl-num "> 2.5</ span > < span class ="hl-num "> 3.8</ span > ]) < span class ="hl-comment "> ; [1.0 3.0 4.0 ]</ span > </ div >
183165 </ div >
184166
185167 < div class ="fn-card ">
@@ -188,7 +170,7 @@ <h2 id="arithmetic">Arithmetic</h2>
188170 < span class ="fn-type "> atomic</ span >
189171 </ div >
190172 < div class ="fn-desc "> Round down to nearest integer.</ div >
191- < div class ="fn-example "> (< span class ="hl-fn "> floor</ span > < span class ="hl-num "> 3.9</ span > ) < span class ="hl-comment "> ; 3</ span > </ div >
173+ < div class ="fn-example "> (< span class ="hl-fn "> floor</ span > < span class ="hl-num "> 3.9</ span > ) < span class ="hl-comment "> ; 3.0 </ span > </ div >
192174 </ div >
193175
194176 < div class ="fn-card ">
@@ -197,7 +179,7 @@ <h2 id="arithmetic">Arithmetic</h2>
197179 < span class ="fn-type "> atomic</ span >
198180 </ div >
199181 < div class ="fn-desc "> Round up to nearest integer.</ div >
200- < div class ="fn-example "> (< span class ="hl-fn "> ceil</ span > < span class ="hl-num "> 3.1</ span > ) < span class ="hl-comment "> ; 4</ span > </ div >
182+ < div class ="fn-example "> (< span class ="hl-fn "> ceil</ span > < span class ="hl-num "> 3.1</ span > ) < span class ="hl-comment "> ; 4.0 </ span > </ div >
201183 </ div >
202184
203185 <!-- ============================================================ -->
@@ -210,7 +192,7 @@ <h2 id="comparison">Comparison</h2>
210192 < span class ="fn-type "> atomic</ span >
211193 </ div >
212194 < div class ="fn-desc "> Equal. Works on all types including strings and symbols.</ div >
213- < div class ="fn-example "> (< span class ="hl-fn "> ==</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 1b </ span > < br > (< span class ="hl-fn "> ==</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > < span class ="hl-num "> 3</ span > ] < span class ="hl-num "> 2</ span > ) < span class ="hl-comment "> ; [0b 1b 0b ]</ span > </ div >
195+ < div class ="fn-example "> (< span class ="hl-fn "> ==</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; true </ span > < br > (< span class ="hl-fn "> ==</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > < span class ="hl-num "> 3</ span > ] < span class ="hl-num "> 2</ span > ) < span class ="hl-comment "> ; [false true false ]</ span > </ div >
214196 </ div >
215197
216198 < div class ="fn-card ">
@@ -219,7 +201,7 @@ <h2 id="comparison">Comparison</h2>
219201 < span class ="fn-type "> atomic</ span >
220202 </ div >
221203 < div class ="fn-desc "> Not equal.</ div >
222- < div class ="fn-example "> (< span class ="hl-fn "> !=</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 4</ span > ) < span class ="hl-comment "> ; 1b </ span > </ div >
204+ < div class ="fn-example "> (< span class ="hl-fn "> !=</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 4</ span > ) < span class ="hl-comment "> ; true </ span > </ div >
223205 </ div >
224206
225207 < div class ="fn-card ">
@@ -228,7 +210,7 @@ <h2 id="comparison">Comparison</h2>
228210 < span class ="fn-type "> atomic</ span >
229211 </ div >
230212 < div class ="fn-desc "> Less than.</ div >
231- < div class ="fn-example "> (< span class ="hl-fn "> <</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; 1b </ span > < br > (< span class ="hl-fn "> <</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 3</ span > ] < span class ="hl-num "> 4</ span > ) < span class ="hl-comment "> ; [1b 0b 1b ]</ span > </ div >
213+ < div class ="fn-example "> (< span class ="hl-fn "> <</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; true </ span > < br > (< span class ="hl-fn "> <</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 3</ span > ] < span class ="hl-num "> 4</ span > ) < span class ="hl-comment "> ; [true false true ]</ span > </ div >
232214 </ div >
233215
234216 < div class ="fn-card ">
@@ -237,7 +219,7 @@ <h2 id="comparison">Comparison</h2>
237219 < span class ="fn-type "> atomic</ span >
238220 </ div >
239221 < div class ="fn-desc "> Less than or equal.</ div >
240- < div class ="fn-example "> (< span class ="hl-fn "> <=</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 1b </ span > </ div >
222+ < div class ="fn-example "> (< span class ="hl-fn "> <=</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; true </ span > </ div >
241223 </ div >
242224
243225 < div class ="fn-card ">
@@ -246,7 +228,7 @@ <h2 id="comparison">Comparison</h2>
246228 < span class ="fn-type "> atomic</ span >
247229 </ div >
248230 < div class ="fn-desc "> Greater than.</ div >
249- < div class ="fn-example "> (< span class ="hl-fn "> ></ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; 1b </ span > </ div >
231+ < div class ="fn-example "> (< span class ="hl-fn "> ></ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; true </ span > </ div >
250232 </ div >
251233
252234 < div class ="fn-card ">
@@ -255,16 +237,15 @@ <h2 id="comparison">Comparison</h2>
255237 < span class ="fn-type "> atomic</ span >
256238 </ div >
257239 < div class ="fn-desc "> Greater than or equal.</ div >
258- < div class ="fn-example "> (< span class ="hl-fn "> >=</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; 1b </ span > </ div >
240+ < div class ="fn-example "> (< span class ="hl-fn "> >=</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; true </ span > </ div >
259241 </ div >
260242
261243 < div class ="fn-card ">
262244 < div class ="fn-card-header ">
263- < span class ="fn-name "> (within x lo hi)</ span >
264- < span class ="fn-type "> atomic</ span >
245+ < span class ="fn-name "> (within vec [lo hi])</ span >
265246 </ div >
266- < div class ="fn-desc "> Check if value is within a range (inclusive).</ div >
267- < div class ="fn-example "> (< span class ="hl-fn "> within</ span > < span class =" hl-num " > 5 </ span > < span class =" hl-num " > 3 </ span > < span class =" hl-num " > 7 </ span > ) < span class =" hl-comment " > ; 1b </ span > < br > ( < span class =" hl-fn " > within </ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 9</ span > ] < span class ="hl-num "> 3</ span > < span class ="hl-num "> 7</ span > ) < span class ="hl-comment "> ; [0b 1b 0b ]</ span > </ div >
247+ < div class ="fn-desc "> Check if each element of a vector is within a range (inclusive). The second argument is a 2-element vector < code > [lo hi] </ code > .</ div >
248+ < div class ="fn-example "> (< span class ="hl-fn "> within</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 9</ span > ] [ < span class ="hl-num "> 3</ span > < span class ="hl-num "> 7</ span > ] ) < span class ="hl-comment "> ; [false true false ]</ span > </ div >
268249 </ div >
269250
270251 <!-- ============================================================ -->
@@ -294,7 +275,7 @@ <h2 id="logic">Logic</h2>
294275 < span class ="fn-type "> atomic</ span >
295276 </ div >
296277 < div class ="fn-desc "> Logical NOT. Flips boolean values.</ div >
297- < div class ="fn-example "> (< span class ="hl-fn "> not</ span > < span class =" hl-bool " > 1b </ span > ) < span class ="hl-comment "> ; 0b </ span > < br > (< span class ="hl-fn "> not</ span > [< span class =" hl-bool " > 1b </ span > < span class =" hl-bool " > 0b </ span > < span class =" hl-bool " > 1b </ span > ]) < span class ="hl-comment "> ; [0b 1b 0b ]</ span > </ div >
278+ < div class ="fn-example "> (< span class ="hl-fn "> not</ span > true ) < span class ="hl-comment "> ; false </ span > < br > (< span class ="hl-fn "> not</ span > [true false true ]) < span class ="hl-comment "> ; [false true false ]</ span > </ div >
298279 </ div >
299280
300281 <!-- ============================================================ -->
@@ -352,7 +333,7 @@ <h2 id="aggregation">Aggregation</h2>
352333 < span class ="fn-type "> aggregate</ span >
353334 </ div >
354335 < div class ="fn-desc "> Median value.</ div >
355- < div class ="fn-example "> (< span class ="hl-fn "> med</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 7</ span > < span class ="hl-num "> 9</ span > ]) < span class ="hl-comment "> ; 5</ span > </ div >
336+ < div class ="fn-example "> (< span class ="hl-fn "> med</ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 7</ span > < span class ="hl-num "> 9</ span > ]) < span class ="hl-comment "> ; 5.0 </ span > </ div >
356337 </ div >
357338
358339 < div class ="fn-card ">
@@ -465,18 +446,10 @@ <h2 id="generation">Generation</h2>
465446
466447 < div class ="fn-card ">
467448 < div class ="fn-card-header ">
468- < span class ="fn-name "> (take n x )</ span >
449+ < span class ="fn-name "> (take x n )</ span >
469450 </ div >
470451 < div class ="fn-desc "> Take the first < code > n</ code > elements from a vector, or repeat/cycle < code > x</ code > to length < code > n</ code > .</ div >
471- < div class ="fn-example "> (< span class ="hl-fn "> take</ span > < span class ="hl-num "> 3</ span > [< span class ="hl-num "> 10</ span > < span class ="hl-num "> 20</ span > < span class ="hl-num "> 30</ span > < span class ="hl-num "> 40</ span > ]) < span class ="hl-comment "> ; [10 20 30]</ span > < br > (< span class ="hl-fn "> take</ span > [< span class ="hl-str "> A</ span > < span class ="hl-str "> B</ span > ] < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; [A B A B A]</ span > </ div >
472- </ div >
473-
474- < div class ="fn-card ">
475- < div class ="fn-card-header ">
476- < span class ="fn-name "> (drop n x)</ span >
477- </ div >
478- < div class ="fn-desc "> Drop the first < code > n</ code > elements from a vector.</ div >
479- < div class ="fn-example "> (< span class ="hl-fn "> drop</ span > < span class ="hl-num "> 2</ span > [< span class ="hl-num "> 10</ span > < span class ="hl-num "> 20</ span > < span class ="hl-num "> 30</ span > < span class ="hl-num "> 40</ span > ]) < span class ="hl-comment "> ; [30 40]</ span > </ div >
452+ < div class ="fn-example "> (< span class ="hl-fn "> take</ span > [< span class ="hl-num "> 10</ span > < span class ="hl-num "> 20</ span > < span class ="hl-num "> 30</ span > < span class ="hl-num "> 40</ span > ] < span class ="hl-num "> 3</ span > ) < span class ="hl-comment "> ; [10 20 30]</ span > < br > (< span class ="hl-fn "> take</ span > [< span class ="hl-str "> A</ span > < span class ="hl-str "> B</ span > ] < span class ="hl-num "> 5</ span > ) < span class ="hl-comment "> ; [A B A B A]</ span > </ div >
480453 </ div >
481454
482455 < div class ="fn-card ">
@@ -492,7 +465,7 @@ <h2 id="generation">Generation</h2>
492465 < span class ="fn-name "> (where x)</ span >
493466 </ div >
494467 < div class ="fn-desc "> Return indices where the boolean vector is true.</ div >
495- < div class ="fn-example "> (< span class ="hl-fn "> where</ span > [< span class =" hl-bool " > 0b </ span > < span class =" hl-bool " > 1b </ span > < span class =" hl-bool " > 0b </ span > < span class =" hl-bool " > 1b </ span > ]) < span class ="hl-comment "> ; [1 3]</ span > < br > (< span class ="hl-fn "> where</ span > (< span class ="hl-fn "> ></ span > [< span class ="hl-num "> 10</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 20</ span > ] < span class ="hl-num "> 8</ span > )) < span class ="hl-comment "> ; [0 2]</ span > </ div >
468+ < div class ="fn-example "> (< span class ="hl-fn "> where</ span > [false true false true ]) < span class ="hl-comment "> ; [1 3]</ span > < br > (< span class ="hl-fn "> where</ span > (< span class ="hl-fn "> ></ span > [< span class ="hl-num "> 10</ span > < span class ="hl-num "> 5</ span > < span class ="hl-num "> 20</ span > ] < span class ="hl-num "> 8</ span > )) < span class ="hl-comment "> ; [0 2]</ span > </ div >
496469 </ div >
497470
498471 < div class ="fn-card ">
@@ -505,10 +478,10 @@ <h2 id="generation">Generation</h2>
505478
506479 < div class ="fn-card ">
507480 < div class ="fn-card-header ">
508- < span class ="fn-name "> (xbar n x )</ span >
481+ < span class ="fn-name "> (xbar x n )</ span >
509482 </ div >
510483 < div class ="fn-desc "> Round each element down to the nearest multiple of < code > n</ code > (bucketing).</ div >
511- < div class ="fn-example "> (< span class ="hl-fn "> xbar</ span > < span class ="hl-num "> 5 </ span > [ < span class ="hl-num "> 3 </ span > < span class ="hl-num "> 7 </ span > < span class ="hl-num "> 12 </ span > < span class ="hl-num "> 18 </ span > ] ) < span class ="hl-comment "> ; [0 5 10 15]</ span > </ div >
484+ < div class ="fn-example "> (< span class ="hl-fn "> xbar</ span > [ < span class ="hl-num "> 3 </ span > < span class ="hl-num "> 7 </ span > < span class ="hl-num "> 12 </ span > < span class ="hl-num "> 18 </ span > ] < span class ="hl-num "> 5 </ span > ) < span class ="hl-comment "> ; [0 5 10 15]</ span > </ div >
512485 </ div >
513486
514487 <!-- ============================================================ -->
@@ -541,18 +514,18 @@ <h2 id="higher-order">Higher-order Functions</h2>
541514
542515 < div class ="fn-card ">
543516 < div class ="fn-card-header ">
544- < span class ="fn-name "> (apply f args)</ span >
517+ < span class ="fn-name "> (apply f ... args)</ span >
545518 </ div >
546- < div class ="fn-desc "> Apply function < code > f</ code > with a list of arguments.</ div >
547- < div class ="fn-example "> (< span class ="hl-fn "> apply</ span > < span class ="hl-fn "> +</ span > [ < span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > ] ) < span class ="hl-comment "> ; 3</ span > </ div >
519+ < div class ="fn-desc "> Apply function < code > f</ code > to the given arguments.</ div >
520+ < div class ="fn-example "> (< span class ="hl-fn "> apply</ span > < span class ="hl-fn "> +</ span > < span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > ) < span class ="hl-comment "> ; 3</ span > </ div >
548521 </ div >
549522
550523 < div class ="fn-card ">
551524 < div class ="fn-card-header ">
552- < span class ="fn-name "> (filter f x )</ span >
525+ < span class ="fn-name "> (filter vec mask )</ span >
553526 </ div >
554- < div class ="fn-desc "> Keep elements of < code > x </ code > where < code > f </ code > returns true.</ div >
555- < div class ="fn-example "> (< span class ="hl-fn "> filter</ span > ( < span class ="hl-kw " > fn </ span > [x] ( < span class ="hl-fn " > > </ span > x < span class ="hl-num "> 2 </ span > )) [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 4</ span > ]) < span class ="hl-comment "> ; [3 4]</ span > </ div >
527+ < div class ="fn-desc "> Keep elements of < code > vec </ code > where the boolean < code > mask </ code > is true.</ div >
528+ < div class ="fn-example "> (< span class ="hl-fn "> filter</ span > [ < span class ="hl-num " > 1 </ span > < span class ="hl-num " > 2 </ span > < span class =" hl-num " > 3 </ span > < span class ="hl-num "> 4 </ span > ] ( < span class =" hl-fn " > > </ span > [< span class ="hl-num "> 1</ span > < span class ="hl-num "> 2</ span > < span class ="hl-num "> 3</ span > < span class ="hl-num "> 4</ span > ] < span class =" hl-num " > 2 </ span > ) ) < span class ="hl-comment "> ; [3 4]</ span > </ div >
556529 </ div >
557530
558531 < div class ="fn-card ">
@@ -575,7 +548,7 @@ <h2 id="reference">Quick Reference Table</h2>
575548 < tbody >
576549 < tr >
577550 < td > < strong > Arithmetic</ strong > </ td >
578- < td > < code > +</ code > < code > -</ code > < code > *</ code > < code > /</ code > < code > %</ code > < code > neg</ code > < code > abs </ code > < code > sqrt </ code > < code > round</ code > < code > floor</ code > < code > ceil</ code > </ td >
551+ < td > < code > +</ code > < code > -</ code > < code > *</ code > < code > /</ code > < code > %</ code > < code > neg</ code > < code > round</ code > < code > floor</ code > < code > ceil</ code > </ td >
579552 </ tr >
580553 < tr >
581554 < td > < strong > Comparison</ strong > </ td >
@@ -595,7 +568,7 @@ <h2 id="reference">Quick Reference Table</h2>
595568 </ tr >
596569 < tr >
597570 < td > < strong > Generation</ strong > </ td >
598- < td > < code > til</ code > < code > take</ code > < code > drop </ code > < code > reverse</ code > < code > where</ code > < code > find</ code > < code > xbar</ code > </ td >
571+ < td > < code > til</ code > < code > take</ code > < code > reverse</ code > < code > where</ code > < code > find</ code > < code > xbar</ code > </ td >
599572 </ tr >
600573 < tr >
601574 < td > < strong > Higher-order</ strong > </ td >
0 commit comments