| l | least integer in range |
|---|---|
| h | greatest integer in range |
(iota 17 21) => (17 18 19 20 21)
(define (iota l h)
(letrec
((j (lambda (x r)
(cond ((= x l) (cons l r))
(else (j (- x 1) (cons x r)))))))
(cond ((> l h) (wrong "iota: bad range" (list l h)))
(else (j h '())))))