From 444582f0269c4122b0b388468765b3fa7dbc7b89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 24 Jan 2020 20:22:49 +0100 Subject: Extend define-many to allow a custom define procedure. --- module/util.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'module/util.scm') diff --git a/module/util.scm b/module/util.scm index 0580748f..a2ab43c3 100644 --- a/module/util.scm +++ b/module/util.scm @@ -258,9 +258,13 @@ (define-syntax define-many (syntax-rules () [(_) (begin)] + [(_ def) (begin)] [(_ (symbols ...) value rest ...) (begin (define symbols value) ... - (define-many rest ...))])) + (define-many rest ...))] + [(_ def (symbols ...) value rest ...) + (begin (def symbols value) ... + (define-many def rest ...))])) ;; This function borrowed from web-ics (calendar util) (define* (sort* items comperator #:optional (get identity)) @@ -388,7 +392,6 @@ [(-> obj func rest ...) (-> (func obj) rest ...)])) - ;; Non-destructive set, syntax extension from set-fields from (srfi ;; srfi-9 gnu). Also doubles as a non-destructive mod!, if the `=' ;; operator is used. -- cgit v1.2.3