aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-05-07 11:46:10 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-05-07 11:46:10 +0200
commit64bcdd5e6d005417db22d994a117ae3795ef0607 (patch)
tree7b883d28b8a7ee626e8a6269b17f573fa2354172
parentImprove glob. (diff)
downloadcalp-64bcdd5e6d005417db22d994a117ae3795ef0607.tar.gz
calp-64bcdd5e6d005417db22d994a117ae3795ef0607.tar.xz
Add preliminary use-modules* form.
-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))))