aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-04-20 21:33:33 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-04-20 21:33:33 +0200
commit4704e32fa8d1584153d4ad82fe7d2d7f9c6916cd (patch)
treec986c0ded5c6f288ea5a7b02bfa2288c799349f5
parentRemove export from util. (diff)
downloadcalp-4704e32fa8d1584153d4ad82fe7d2d7f9c6916cd.tar.gz
calp-4704e32fa8d1584153d4ad82fe7d2d7f9c6916cd.tar.xz
Add `for` macro.
-rw-r--r--module/util.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/module/util.scm b/module/util.scm
index 2bbdc274..a5d3d0dc 100644
--- a/module/util.scm
+++ b/module/util.scm
@@ -3,7 +3,7 @@
#:use-module ((ice-9 optargs) #:select (define*-public))
#:use-module ((sxml fold) #:select (fold-values))
#:export (destructure-lambda let-multi fold-lists catch-let
- for-each-in
+ for-each-in for
define-quick-record
mod! sort* sort*!
find-min)
@@ -36,6 +36,12 @@
(define-syntax-rule (for-each-in lst proc)
(for-each proc lst))
+(define-syntax for
+ (syntax-rules (in)
+ ((for <var> in <collection> b1 body ...)
+ (for-each (lambda (<var>) b1 body ...)
+ <collection>))))
+
;;; Helper macros to make define-quick-record better