diff mbox series

[bug#63985,v4,3/5] services: fstrim-service-type: Serialize with SRFI-171 transducers.

Message ID b835ee4dafc5e5e545ee8f86f3332cef2f187d43.1696694011.git.mirai@makinata.eu
State New
Headers show
Series SRFI-171 based improvements for define-configuration | expand

Commit Message

Bruno Victal Oct. 7, 2023, 3: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 1f01b39a21..9ee0d93030 100644
--- a/gnu/services/linux.scm
+++ b/gnu/services/linux.scm
@@ -41,6 +41,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
@@ -252,13 +253,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)