aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/utils.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-01-18 14:38:33 +0000
committerChristopher Baines <mail@cbaines.net>2024-01-18 14:41:32 +0000
commit15b6dad5a56a48f81d2a0bb45de9224c5e8ed805 (patch)
treef1fcc449218cac6d704b5dd733a3204eea5a590f /guix-data-service/utils.scm
parent45d9b1ad7cb9ecacd754cc3957c7280b299596e7 (diff)
downloaddata-service-15b6dad5a56a48f81d2a0bb45de9224c5e8ed805.tar
data-service-15b6dad5a56a48f81d2a0bb45de9224c5e8ed805.tar.gz
Have delete-duplicates/sort! take a equality procedure
And change the default, as eq? doesn't always work.
Diffstat (limited to 'guix-data-service/utils.scm')
-rw-r--r--guix-data-service/utils.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix-data-service/utils.scm b/guix-data-service/utils.scm
index 7357a40..c91b10b 100644
--- a/guix-data-service/utils.scm
+++ b/guix-data-service/utils.scm
@@ -417,7 +417,7 @@ available. Return the resource once PROC has returned."
#t)
-(define (delete-duplicates/sort! unsorted-lst less)
+(define* (delete-duplicates/sort! unsorted-lst less #:optional (equal? equal?))
(if (null? unsorted-lst)
unsorted-lst
(let ((sorted-lst (sort! unsorted-lst less)))
@@ -428,7 +428,7 @@ available. Return the resource once PROC has returned."
(if (null? lst)
result
(let ((current-element (car lst)))
- (if (eq? current-element last-element)
+ (if (equal? current-element last-element)
(loop (cdr lst)
last-element
result)