summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/services/configuration.scm11
1 files changed, 3 insertions, 8 deletions
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 400f231b94..0a2219e743 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -87,14 +87,9 @@
                    (configuration-field-name field) val))))
             fields))
 
-(define (id ctx part . parts)
-  (let ((part (syntax->datum part)))
-    (datum->syntax
-     ctx
-     (match parts
-       (() part)
-       (parts (symbol-append part
-                             (syntax->datum (apply id ctx parts))))))))
+(define-syntax-rule (id ctx parts ...)
+  "Assemble PARTS into a raw (unhygienic)  identifier."
+  (datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
 
 (define-syntax define-maybe
   (lambda (x)