Add srfi-1:iota.
[mes.git] / module / srfi / srfi-1.mes
index 89400ff3de03f84c5910410e47e27e5d016f8d88..e3b904a77899339ca9e3411613074a31736a49b4 100644 (file)
   (if (null? rest) (mes:member x lst)
       (srfi-1:member x lst (car rest))))
 
+(define mes:iota iota)
+
+(define (srfi-1:iota n start step)
+  (if (<= n 0) '()
+      (cons start (srfi-1:iota (- n 1) (+ start step) step))))
+
+(define (iota n . rest)
+  (if (null? rest) (mes:iota n)
+      (let ((start (car rest))
+            (step (if (null? (cdr rest)) 1
+                      (cadr rest))))
+        (srfi-1:iota n start step))))
+
 (include-from-path "srfi/srfi-1.scm")