diff mbox series

[bug#63985,v3,03/11] services: fstrim-service-type: Serialize with SRFI-171 transducers.

Message ID b4d185c94ecb211880e68f19fc694b00d399f9d0.1687816734.git.mirai@makinata.eu
State New
Headers show
Series Service subsystem improvements | expand

Commit Message

Bruno Victal June 26, 2023, 9:59 p.m. UTC
* gnu/services/linux.scm (serialize-fstrim-configuration): Refactor to use
base-transducer.
---
 gnu/services/linux.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm
index d105c42850..3cfa6d6855 100644
--- a/gnu/services/linux.scm
+++ b/gnu/services/linux.scm
@@ -40,6 +40,7 @@  (define-module (gnu services linux)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
+  #:use-module (srfi srfi-171)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
   #:export (earlyoom-configuration
@@ -227,13 +228,9 @@  (define-configuration fstrim-configuration
   (prefix fstrim-))
 
 (define (serialize-fstrim-configuration config)
-  (concatenate
-   (filter list?
-           (map (lambda (field)
-                  ((configuration-field-serializer field)
-                   (configuration-field-name field)
-                   ((configuration-field-getter field) config)))
-                fstrim-configuration-fields))))
+  (list-transduce (compose (base-transducer config) tconcatenate)
+                  rcons
+                  fstrim-configuration-fields))
 
 (define (fstrim-mcron-job config)
   (match-record config <fstrim-configuration> (package schedule)