Add srfi-1:iota.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 2 Jan 2017 17:18:06 +0000 (18:18 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 4 Jan 2017 08:14:00 +0000 (09:14 +0100)
* module/srfi/srfi-1.mes (iota,srf-1:iota): New function.

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")