--- Begin Message ---
Subject: |
[PATCH] services: configuration: rework alist? procedure |
Date: |
Thu, 1 Dec 2022 18:09:47 +0000 |
From: Bruno Victal <mirai@makinata.eu>
* gnu/services/configuration.scm: rework alist? procedure
---
gnu/services/configuration.scm | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index dacfc52ba9..5bbb032c66 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -436,7 +436,11 @@ (define (list-of pred?)
(define list-of-strings?
(list-of string?))
-(define alist? list?)
+(define alist?
+ (match-lambda
+ (() #t)
+ ((and (= car head) (= cdr tail)) (and (pair? head) (alist? tail)))
+ (_ #f)))
(define serialize-file-like empty-serializer)
base-commit: 748ec628826cea3faa3679074d87fae9bc810080
--
2.38.1
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#59747: [PATCH] services: configuration: rework alist? procedure |
Date: |
Thu, 08 Dec 2022 12:59:05 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
mirai@makinata.eu skribis:
> From: Bruno Victal <mirai@makinata.eu>
>
> * gnu/services/configuration.scm: rework alist? procedure
I simplified it a bit and applied.
Note that there are two other ‘*-alist?’ procedures…
But really, it’s the kind of predicate that shouldn’t be used because
there’s no disjoint alist data type in the first place. It may be a
sign that we should use records instead in those places.
Thanks,
Ludo’.
--- End Message ---