update packages

This commit is contained in:
2025-06-22 17:08:08 +02:00
parent 54e5633369
commit 16a0a6db93
558 changed files with 68349 additions and 26568 deletions

View File

@@ -1,14 +1,10 @@
(define-package "dash" "20240510.1327" "A modern list library for Emacs"
;; -*- no-byte-compile: t; lexical-binding: nil -*-
(define-package "dash" "20250312.1307"
"A modern list library for Emacs."
'((emacs "24"))
:commit "1de9dcb83eacfb162b6d9a118a4770b1281bcd84" :authors
'(("Magnar Sveen" . "magnars@gmail.com"))
:maintainers
'(("Magnar Sveen" . "magnars@gmail.com"))
:maintainer
'("Magnar Sveen" . "magnars@gmail.com")
:keywords
'("extensions" "lisp")
:url "https://github.com/magnars/dash.el")
;; Local Variables:
;; no-byte-compile: t
;; End:
:url "https://github.com/magnars/dash.el"
:commit "fcb5d831fc08a43f984242c7509870f30983c27c"
:revdesc "fcb5d831fc08"
:keywords '("extensions" "lisp")
:authors '(("Magnar Sveen" . "magnars@gmail.com"))
:maintainers '(("Basil L. Contovounesios" . "basil@contovou.net")))

View File

@@ -1,12 +1,14 @@
;;; dash.el --- A modern list library for Emacs -*- lexical-binding: t -*-
;; Copyright (C) 2012-2024 Free Software Foundation, Inc.
;; Copyright (C) 2012-2025 Free Software Foundation, Inc.
;; Author: Magnar Sveen <magnars@gmail.com>
;; Version: 2.19.1
;; Maintainer: Basil L. Contovounesios <basil@contovou.net>
;; Package-Version: 20250312.1307
;; Package-Revision: fcb5d831fc08
;; Package-Requires: ((emacs "24"))
;; Keywords: extensions, lisp
;; Homepage: https://github.com/magnars/dash.el
;; URL: https://github.com/magnars/dash.el
;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@@ -30,6 +32,15 @@
;;; Code:
(eval-when-compile
(unless (fboundp 'static-if)
(defmacro static-if (condition then-form &rest else-forms)
"Expand to THEN-FORM or ELSE-FORMS based on compile-time CONDITION.
Polyfill for Emacs 30 `static-if'."
(declare (debug (sexp sexp &rest sexp)) (indent 2))
(if (eval condition lexical-binding)
then-form
(cons 'progn else-forms))))
;; TODO: Emacs 24.3 first introduced `gv', so remove this and all
;; calls to `defsetf' when support for earlier versions is dropped.
(unless (fboundp 'gv-define-setter)
@@ -784,19 +795,24 @@ See also: `-flatten'"
list)
(defalias '-concat #'append
"Concatenate all the arguments and make the result a list.
"Concatenate all SEQUENCES and make the result a list.
The result is a list whose elements are the elements of all the arguments.
Each argument may be a list, vector or string.
All arguments except the last argument are copied. The last argument
is just used as the tail of the new list.
is just used as the tail of the new list. If the last argument is not
a list, this results in a dotted list.
As an exception, if all the arguments except the last are nil, and the
last argument is not a list, the return value is that last argument
unaltered, not a list.
\(fn &rest SEQUENCES)")
(defalias '-copy #'copy-sequence
"Create a shallow copy of LIST.
\(fn LIST)")
The elements of LIST are not copied; they are shared with the original.
\n(fn LIST)")
(defmacro --splice (pred form list)
"Splice lists generated by FORM in place of items satisfying PRED in LIST.
@@ -1036,13 +1052,9 @@ See also: `-first-item', etc."
(declare (pure t) (side-effect-free t))
(car (last list)))
;; Use `with-no-warnings' to suppress unbound `-last-item' or
;; undefined `gv--defsetter' warnings arising from both
;; `gv-define-setter' and `defsetf' in certain Emacs versions.
(with-no-warnings
(if (fboundp 'gv-define-setter)
(gv-define-setter -last-item (val x) `(setcar (last ,x) ,val))
(defsetf -last-item (x) (val) `(setcar (last ,x) ,val))))
(static-if (fboundp 'gv-define-setter)
(gv-define-setter -last-item (val x) `(setcar (last ,x) ,val))
(defsetf -last-item (x) (val) `(setcar (last ,x) ,val)))
(defun -butlast (list)
"Return a list of all items in list except for the last."
@@ -1241,6 +1253,17 @@ For another variant, see also `-take-while'."
(declare (important-return-value t))
(--drop-while (funcall pred it) list))
;; Added in Emacs 29.
(static-if (fboundp 'take)
(defun dash--take (n list)
"Return the first N elements of LIST.
Like `take', but ensure result is fresh."
(let ((prefix (take n list)))
(if (eq prefix list)
;; If same list is returned, make a copy.
(copy-sequence prefix)
prefix))))
(defun -take (n list)
"Return a copy of the first N items in LIST.
Return a copy of LIST if it contains N items or fewer.
@@ -1248,7 +1271,9 @@ Return nil if N is zero or less.
See also: `-take-last'."
(declare (side-effect-free t))
(--take-while (< it-index n) list))
(static-if (fboundp 'dash--take)
(dash--take n list)
(--take-while (< it-index n) list)))
(defun -take-last (n list)
"Return a copy of the last N items of LIST in order.
@@ -1274,7 +1299,9 @@ Return nil if LIST contains N items or fewer.
See also: `-drop'."
(declare (side-effect-free t))
(nbutlast (copy-sequence list) n))
(static-if (fboundp 'dash--take)
(dash--take (- (length list) n) list)
(nbutlast (copy-sequence list) n)))
(defun -split-at (n list)
"Split LIST into two sublists after the Nth element.
@@ -2440,7 +2467,7 @@ Similar to &hash but check whether the map is not nil."
`(let ((,src ,source))
(when ,src (gethash ,key ,src)))))
(defalias 'dash-expand:&keys 'dash-expand:&plist)
(defalias 'dash-expand:&keys #'dash-expand:&plist)
(defun dash--match-kv-1 (match-form source type)
"Match MATCH-FORM against SOURCE of type TYPE.
@@ -2901,16 +2928,14 @@ example:
(let ((cmp -compare-fn))
(cond ((memq cmp '(nil equal)) #'assoc)
((eq cmp #'eq) #'assq)
;; Since Emacs 26, `assoc' accepts a custom `testfn'.
;; Version testing would be simpler here, but feature
;; testing gets more brownie points, I guess.
((condition-case nil
(with-no-warnings (assoc nil () #'eql))
(wrong-number-of-arguments t))
(lambda (key alist)
(--first (and (consp it) (funcall cmp (car it) key)) alist)))
((with-no-warnings
(lambda (key alist)
((lambda (key alist)
;; Since Emacs 26, `assoc' accepts a custom `testfn'.
;; Version testing would be simpler here, but feature
;; testing gets more brownie points, I guess.
(static-if (condition-case nil
(assoc nil () #'eql)
(wrong-number-of-arguments t))
(--first (and (consp it) (funcall cmp (car it) key)) alist)
(assoc key alist cmp)))))))
(defun dash--hash-test-fn ()
@@ -3298,9 +3323,10 @@ Return the sorted list. LIST is NOT modified by side effects.
COMPARATOR is called with two elements of LIST, and should return non-nil
if the first element should sort before the second."
(declare (important-return-value t))
;; Not yet worth changing to (sort list :lessp comparator);
;; still seems as fast or slightly faster.
(sort (copy-sequence list) comparator))
(static-if (condition-case nil (sort []) (wrong-number-of-arguments))
;; Since Emacs 30.
(sort list :lessp comparator)
(sort (copy-sequence list) comparator)))
(defmacro --sort (form list)
"Anaphoric form of `-sort'."
@@ -3635,7 +3661,13 @@ structure such as plist or alist."
;;; Combinators
(defalias '-partial #'apply-partially)
(defalias '-partial #'apply-partially
"Return a function that is a partial application of FUN to ARGS.
ARGS is a list of the first N arguments to pass to FUN.
The result is a new function which does the same as FUN, except that
the first N arguments are fixed at the values with which this function
was called.
\n(fn FUN &rest ARGS)")
(defun -rpartial (fn &rest args)
"Return a function that is a partial application of FN to ARGS.
@@ -3801,11 +3833,9 @@ See also: `-orfn' and `-not'."
;; Open-code for speed.
(cond ((cdr preds) (lambda (&rest args) (--every (apply it args) preds)))
(preds (car preds))
;; As a `pure' function, this runtime check may generate
;; backward-incompatible bytecode for `(-andfn)' at compile-time,
;; but I doubt that's a problem in practice (famous last words).
((fboundp 'always) #'always)
((lambda (&rest _) t))))
((static-if (fboundp 'always)
#'always
(lambda (&rest _) t)))))
(defun -iteratefn (fn n)
"Return a function FN composed N times with itself.
@@ -3925,13 +3955,13 @@ This function satisfies the following laws:
`(;; TODO: Do not fontify the following automatic variables
;; globally; detect and limit to their local anaphoric scope.
(,(rx symbol-start (| "acc" "it" "it-index" "other") symbol-end)
0 font-lock-variable-name-face)
. 'font-lock-variable-name-face)
;; Macros in dev/examples.el. Based on `lisp-mode-symbol-regexp'.
(,(rx ?\( (group (| "defexamples" "def-example-group")) symbol-end
(+ (in "\t "))
(group (* (| (syntax word) (syntax symbol) (: ?\\ nonl)))))
(1 font-lock-keyword-face)
(2 font-lock-function-name-face))
(1 'font-lock-keyword-face)
(2 'font-lock-function-name-face))
;; Symbols in dev/examples.el.
,(rx symbol-start (| "=>" "~>" "!!>") symbol-end)
;; Elisp macro fontification was static prior to Emacs 25.
@@ -4067,15 +4097,14 @@ See also `dash-fontify-mode-lighter' and
(if dash-fontify-mode
(font-lock-add-keywords nil dash--keywords t)
(font-lock-remove-keywords nil dash--keywords))
(cond ((fboundp 'font-lock-flush) ;; Added in Emacs 25.
(font-lock-flush))
;; `font-lock-fontify-buffer' unconditionally enables
;; `font-lock-mode' and is marked `interactive-only' in later
;; Emacs versions which have `font-lock-flush', so we guard
;; and pacify as needed, respectively.
(font-lock-mode
(with-no-warnings
(font-lock-fontify-buffer)))))
(static-if (fboundp 'font-lock-flush)
;; Added in Emacs 25.
(font-lock-flush)
(when font-lock-mode
;; Unconditionally enables `font-lock-mode' and is marked
;; `interactive-only' in later Emacs versions which have
;; `font-lock-flush'.
(font-lock-fontify-buffer))))
(defun dash--turn-on-fontify-mode ()
"Enable `dash-fontify-mode' if in an Emacs Lisp buffer."

View File

@@ -1,8 +1,8 @@
This is dash.info, produced by makeinfo version 7.1.1 from dash.texi.
This manual is for Dash version 2.19.1.
This manual is for Dash version 2.20.0.
Copyright © 2012-2024 Free Software Foundation, Inc.
Copyright © 2012-2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -22,9 +22,9 @@ File: dash.info, Node: Top, Next: Installation, Up: (dir)
Dash
****
This manual is for Dash version 2.19.1.
This manual is for Dash version 2.20.0.
Copyright © 2012-2024 Free Software Foundation, Inc.
Copyright © 2012-2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -110,7 +110,7 @@ File: dash.info, Node: Using in a package, Next: Fontification of special vari
If you use Dash in your own package, be sure to list it as a dependency
in the library's headers as follows (*note (elisp)Library Headers::).
;; Package-Requires: ((dash "2.19.1"))
;; Package-Requires: ((dash "2.20.0"))

File: dash.info, Node: Fontification of special variables, Next: Info symbol lookup, Prev: Using in a package, Up: Installation
@@ -353,7 +353,8 @@ The results are collected in order and returned as a new list.
⇒ (0 1 0 2 0 3)
-- Function: -copy (list)
Create a shallow copy of LIST.
Create a shallow copy of LIST. The elements of LIST are not
copied; they are shared with the original.
(-copy '(1 2 3))
⇒ (1 2 3)
@@ -639,12 +640,17 @@ Functions returning a modified copy of the input list.
⇒ (40 50 60)
-- Function: -concat (&rest sequences)
Concatenate all the arguments and make the result a list. The
result is a list whose elements are the elements of all the
arguments. Each argument may be a list, vector or string.
Concatenate all SEQUENCES and make the result a list. The result
is a list whose elements are the elements of all the arguments.
Each argument may be a list, vector or string.
All arguments except the last argument are copied. The last
argument is just used as the tail of the new list.
argument is just used as the tail of the new list. If the last
argument is not a list, this results in a dotted list.
As an exception, if all the arguments except the last are nil,
and the last argument is not a list, the return value is that last
argument unaltered, not a list.
(-concat '(1))
⇒ (1)
@@ -4550,8 +4556,8 @@ Index
(line 445)
* -fixfn: Function combinators.
(line 224)
* -flatten: List to list. (line 38)
* -flatten-n: List to list. (line 60)
* -flatten: List to list. (line 43)
* -flatten-n: List to list. (line 65)
* -flip: Function combinators.
(line 95)
* -fourth-item: Other list operations.
@@ -4563,7 +4569,7 @@ Index
* -if-let: Binding. (line 34)
* -if-let*: Binding. (line 45)
* -inits: Reductions. (line 222)
* -insert-at: List to list. (line 114)
* -insert-at: List to list. (line 119)
* -interleave: Other list operations.
(line 56)
* -interpose: Other list operations.
@@ -4636,16 +4642,16 @@ Index
* -reductions-r: Reductions. (line 154)
* -reductions-r-from: Reductions. (line 118)
* -remove: Sublist selection. (line 26)
* -remove-at: List to list. (line 151)
* -remove-at-indices: List to list. (line 170)
* -remove-at: List to list. (line 156)
* -remove-at-indices: List to list. (line 175)
* -remove-first: Sublist selection. (line 44)
* -remove-item: Sublist selection. (line 84)
* -remove-last: Sublist selection. (line 65)
* -repeat: Unfolding. (line 44)
* -replace: List to list. (line 72)
* -replace-at: List to list. (line 125)
* -replace-first: List to list. (line 86)
* -replace-last: List to list. (line 100)
* -replace: List to list. (line 77)
* -replace-at: List to list. (line 130)
* -replace-first: List to list. (line 91)
* -replace-last: List to list. (line 105)
* -rotate: Other list operations.
(line 8)
* -rotate-args: Function combinators.
@@ -4701,7 +4707,7 @@ Index
(line 215)
* -unzip-lists: Other list operations.
(line 196)
* -update-at: List to list. (line 137)
* -update-at: List to list. (line 142)
* -when-let: Binding. (line 9)
* -when-let*: Binding. (line 21)
* -zip: Other list operations.
@@ -4746,199 +4752,199 @@ Ref: -splice10052
Ref: -splice-list11125
Ref: -mapcat11584
Ref: -copy11957
Node: Sublist selection12145
Ref: -filter12338
Ref: -remove12889
Ref: -remove-first13436
Ref: -remove-last14280
Ref: -remove-item15008
Ref: -non-nil15408
Ref: -slice15690
Ref: -take16219
Ref: -take-last16637
Ref: -drop17074
Ref: -drop-last17521
Ref: -take-while17953
Ref: -drop-while18578
Ref: -select-by-indices19209
Ref: -select-columns19716
Ref: -select-column20419
Node: List to list20882
Ref: -keep21074
Ref: -concat21650
Ref: -flatten22178
Ref: -flatten-n22938
Ref: -replace23322
Ref: -replace-first23783
Ref: -replace-last24278
Ref: -insert-at24766
Ref: -replace-at25091
Ref: -update-at25478
Ref: -remove-at26019
Ref: -remove-at-indices26646
Node: Reductions27336
Ref: -reduce-from27532
Ref: -reduce-r-from28254
Ref: -reduce29515
Ref: -reduce-r30264
Ref: -reductions-from31540
Ref: -reductions-r-from32342
Ref: -reductions33168
Ref: -reductions-r33875
Ref: -count34616
Ref: -sum34846
Ref: -running-sum35034
Ref: -product35355
Ref: -running-product35563
Ref: -inits35904
Ref: -tails36149
Ref: -common-prefix36394
Ref: -common-suffix36688
Ref: -min36982
Ref: -min-by37208
Ref: -max37729
Ref: -max-by37954
Ref: -frequencies38480
Node: Unfolding39095
Ref: -iterate39336
Ref: -unfold39783
Ref: -repeat40588
Ref: -cycle40872
Node: Predicates41269
Ref: -some41446
Ref: -every41873
Ref: -any?42585
Ref: -all?42934
Ref: -none?43674
Ref: -only-some?43994
Ref: -contains?44539
Ref: -is-prefix?45045
Ref: -is-suffix?45377
Ref: -is-infix?45709
Ref: -cons-pair?46069
Node: Partitioning46400
Ref: -split-at46588
Ref: -split-with47252
Ref: -split-on47892
Ref: -split-when48563
Ref: -separate49206
Ref: -partition49740
Ref: -partition-all50189
Ref: -partition-in-steps50614
Ref: -partition-all-in-steps51160
Ref: -partition-by51674
Ref: -partition-by-header52052
Ref: -partition-after-pred52653
Ref: -partition-before-pred53104
Ref: -partition-before-item53489
Ref: -partition-after-item53796
Ref: -group-by54098
Node: Indexing54531
Ref: -elem-index54733
Ref: -elem-indices55220
Ref: -find-index55679
Ref: -find-last-index56346
Ref: -find-indices56995
Ref: -grade-up57755
Ref: -grade-down58162
Node: Set operations58576
Ref: -union58759
Ref: -difference59189
Ref: -intersection59617
Ref: -powerset60046
Ref: -permutations60323
Ref: -distinct60761
Ref: -same-items?61155
Node: Other list operations61764
Ref: -rotate61989
Ref: -cons*62342
Ref: -snoc62764
Ref: -interpose63176
Ref: -interleave63470
Ref: -iota63836
Ref: -zip-with64319
Ref: -zip-pair65125
Ref: -zip-lists65691
Ref: -zip-lists-fill66489
Ref: -zip67199
Ref: -zip-fill68226
Ref: -unzip-lists69140
Ref: -unzip69763
Ref: -pad70756
Ref: -table71241
Ref: -table-flat72027
Ref: -first73030
Ref: -last73561
Ref: -first-item73907
Ref: -second-item74319
Ref: -third-item74736
Ref: -fourth-item75111
Ref: -fifth-item75489
Ref: -last-item75864
Ref: -butlast76225
Ref: -sort76470
Ref: -list76964
Ref: -fix77533
Node: Tree operations78022
Ref: -tree-seq78218
Ref: -tree-map79079
Ref: -tree-map-nodes79519
Ref: -tree-reduce80383
Ref: -tree-reduce-from81265
Ref: -tree-mapreduce81865
Ref: -tree-mapreduce-from82724
Ref: -clone84009
Node: Threading macros84347
Ref: ->84572
Ref: ->>85060
Ref: -->85563
Ref: -as->86120
Ref: -some->86574
Ref: -some->>86959
Ref: -some-->87406
Ref: -doto87973
Node: Binding88526
Ref: -when-let88733
Ref: -when-let*89194
Ref: -if-let89723
Ref: -if-let*90089
Ref: -let90712
Ref: -let*96788
Ref: -lambda97725
Ref: -setq98531
Node: Side effects99332
Ref: -each99526
Ref: -each-while100051
Ref: -each-indexed100671
Ref: -each-r101263
Ref: -each-r-while101705
Ref: -dotimes102349
Node: Destructive operations102900
Ref: !cons103118
Ref: !cdr103322
Node: Function combinators103515
Ref: -partial103719
Ref: -rpartial104237
Ref: -juxt104885
Ref: -compose105337
Ref: -applify105944
Ref: -on106374
Ref: -flip107138
Ref: -rotate-args107660
Ref: -const108289
Ref: -cut108631
Ref: -not109111
Ref: -orfn109655
Ref: -andfn110448
Ref: -iteratefn111235
Ref: -fixfn111937
Ref: -prodfn113511
Node: Development114638
Node: Contribute114927
Node: Contributors115935
Node: FDL118028
Node: GPL143147
Node: Index180693
Node: Sublist selection12223
Ref: -filter12416
Ref: -remove12967
Ref: -remove-first13514
Ref: -remove-last14358
Ref: -remove-item15086
Ref: -non-nil15486
Ref: -slice15768
Ref: -take16297
Ref: -take-last16715
Ref: -drop17152
Ref: -drop-last17599
Ref: -take-while18031
Ref: -drop-while18656
Ref: -select-by-indices19287
Ref: -select-columns19794
Ref: -select-column20497
Node: List to list20960
Ref: -keep21152
Ref: -concat21728
Ref: -flatten22508
Ref: -flatten-n23268
Ref: -replace23652
Ref: -replace-first24113
Ref: -replace-last24608
Ref: -insert-at25096
Ref: -replace-at25421
Ref: -update-at25808
Ref: -remove-at26349
Ref: -remove-at-indices26976
Node: Reductions27666
Ref: -reduce-from27862
Ref: -reduce-r-from28584
Ref: -reduce29845
Ref: -reduce-r30594
Ref: -reductions-from31870
Ref: -reductions-r-from32672
Ref: -reductions33498
Ref: -reductions-r34205
Ref: -count34946
Ref: -sum35176
Ref: -running-sum35364
Ref: -product35685
Ref: -running-product35893
Ref: -inits36234
Ref: -tails36479
Ref: -common-prefix36724
Ref: -common-suffix37018
Ref: -min37312
Ref: -min-by37538
Ref: -max38059
Ref: -max-by38284
Ref: -frequencies38810
Node: Unfolding39425
Ref: -iterate39666
Ref: -unfold40113
Ref: -repeat40918
Ref: -cycle41202
Node: Predicates41599
Ref: -some41776
Ref: -every42203
Ref: -any?42915
Ref: -all?43264
Ref: -none?44004
Ref: -only-some?44324
Ref: -contains?44869
Ref: -is-prefix?45375
Ref: -is-suffix?45707
Ref: -is-infix?46039
Ref: -cons-pair?46399
Node: Partitioning46730
Ref: -split-at46918
Ref: -split-with47582
Ref: -split-on48222
Ref: -split-when48893
Ref: -separate49536
Ref: -partition50070
Ref: -partition-all50519
Ref: -partition-in-steps50944
Ref: -partition-all-in-steps51490
Ref: -partition-by52004
Ref: -partition-by-header52382
Ref: -partition-after-pred52983
Ref: -partition-before-pred53434
Ref: -partition-before-item53819
Ref: -partition-after-item54126
Ref: -group-by54428
Node: Indexing54861
Ref: -elem-index55063
Ref: -elem-indices55550
Ref: -find-index56009
Ref: -find-last-index56676
Ref: -find-indices57325
Ref: -grade-up58085
Ref: -grade-down58492
Node: Set operations58906
Ref: -union59089
Ref: -difference59519
Ref: -intersection59947
Ref: -powerset60376
Ref: -permutations60653
Ref: -distinct61091
Ref: -same-items?61485
Node: Other list operations62094
Ref: -rotate62319
Ref: -cons*62672
Ref: -snoc63094
Ref: -interpose63506
Ref: -interleave63800
Ref: -iota64166
Ref: -zip-with64649
Ref: -zip-pair65455
Ref: -zip-lists66021
Ref: -zip-lists-fill66819
Ref: -zip67529
Ref: -zip-fill68556
Ref: -unzip-lists69470
Ref: -unzip70093
Ref: -pad71086
Ref: -table71571
Ref: -table-flat72357
Ref: -first73360
Ref: -last73891
Ref: -first-item74237
Ref: -second-item74649
Ref: -third-item75066
Ref: -fourth-item75441
Ref: -fifth-item75819
Ref: -last-item76194
Ref: -butlast76555
Ref: -sort76800
Ref: -list77294
Ref: -fix77863
Node: Tree operations78352
Ref: -tree-seq78548
Ref: -tree-map79409
Ref: -tree-map-nodes79849
Ref: -tree-reduce80713
Ref: -tree-reduce-from81595
Ref: -tree-mapreduce82195
Ref: -tree-mapreduce-from83054
Ref: -clone84339
Node: Threading macros84677
Ref: ->84902
Ref: ->>85390
Ref: -->85893
Ref: -as->86450
Ref: -some->86904
Ref: -some->>87289
Ref: -some-->87736
Ref: -doto88303
Node: Binding88856
Ref: -when-let89063
Ref: -when-let*89524
Ref: -if-let90053
Ref: -if-let*90419
Ref: -let91042
Ref: -let*97118
Ref: -lambda98055
Ref: -setq98861
Node: Side effects99662
Ref: -each99856
Ref: -each-while100381
Ref: -each-indexed101001
Ref: -each-r101593
Ref: -each-r-while102035
Ref: -dotimes102679
Node: Destructive operations103230
Ref: !cons103448
Ref: !cdr103652
Node: Function combinators103845
Ref: -partial104049
Ref: -rpartial104567
Ref: -juxt105215
Ref: -compose105667
Ref: -applify106274
Ref: -on106704
Ref: -flip107468
Ref: -rotate-args107990
Ref: -const108619
Ref: -cut108961
Ref: -not109441
Ref: -orfn109985
Ref: -andfn110778
Ref: -iteratefn111565
Ref: -fixfn112267
Ref: -prodfn113841
Node: Development114968
Node: Contribute115257
Node: Contributors116265
Node: FDL118358
Node: GPL143477
Node: Index181023

End Tag Table