aboutsummaryrefslogtreecommitdiff
path: root/module/util.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-06-01 13:06:41 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-06-01 13:06:41 +0200
commit91b01265606283829da62e3c6c5aadcf7c80cfc8 (patch)
tree6226d755f1d2d111f67c187d673f09c647437444 /module/util.scm
parentDocument assq-merge. (diff)
downloadcalp-91b01265606283829da62e3c6c5aadcf7c80cfc8.tar.gz
calp-91b01265606283829da62e3c6c5aadcf7c80cfc8.tar.xz
Add assq-limit.
Diffstat (limited to 'module/util.scm')
-rw-r--r--module/util.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/module/util.scm b/module/util.scm
index 6d8aeaf7..b168ffc4 100644
--- a/module/util.scm
+++ b/module/util.scm
@@ -384,6 +384,11 @@
(assq-set! alist k (append v (or o '())))))
(copy-tree a) b))
+(define*-public (assq-limit alist optional: (number 1))
+ (map (lambda (pair)
+ (take-to pair (1+ number)))
+ alist))
+
(define-public (group-by proc lst)
(let ((h (make-hash-table)))
(for value in lst