aboutsummaryrefslogtreecommitdiff
path: root/module/util.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/util.scm')
-rw-r--r--module/util.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/module/util.scm b/module/util.scm
index dd5f3057..c41b8061 100644
--- a/module/util.scm
+++ b/module/util.scm
@@ -9,6 +9,7 @@
catch-multiple
quote?
re-export-modules
+ use-modules*
tree-map let-lazy)
#:replace (let* set! define-syntax
when unless if))
@@ -333,3 +334,11 @@
(assq-set! alist k (append v (or o '())))))
(copy-tree a) b))
+
+(define-macro (use-modules* . forms)
+ `(use-modules
+ ,@(concatenate
+ (map (lambda (form)
+ (map (lambda (sub) (list (car form) sub))
+ (cadr form)))
+ forms))))