From ef8dcc12f2b097d46764c8603f4de43ebe7eb827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Fri, 5 Apr 2019 17:41:37 +0200 Subject: Add enumerate and map-each. --- module/util.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/module/util.scm b/module/util.scm index 0e8ee7ee..bf7d746d 100644 --- a/module/util.scm +++ b/module/util.scm @@ -190,3 +190,14 @@ (define-public (as-symb s) (if (string? s) (string->symbol s) s)) + +(define-public (enumerate lst) + (zip (iota (length lst)) + lst)) + +;; Map with index +(define-syntax-rule (map-each proc lst) + (map (lambda (x i) (proc x i)) + lst (iota (length lst)))) + +(export map-each) -- cgit v1.2.3