(define (zeros n)
;; Make list of n zeros
  (define (zeros-iter n lst)
    (if (= n 0)
        lst
        (zeros-iter (- n 1)
                         (cons 0 lst))))
  (zeros-iter n '()))

Results:

guile> (apply + (zeros (expt 10 3)))
$2 = 0
guile> (apply + (zeros (expt 10 4)))
$3 = 0
guile> (apply + (zeros (expt 10 5)))
ERROR: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow" ())'.
guile> (apply + (zeros (expt 10 6)))

Process scheme aborted (core dumped)

Reply via email to