(define (make-list-with-proc lth func) (if (< lth 1) '() (let loop ((i 0) (lst '())) (if (>= i lth) (reverse lst) (loop (+ i 1) (cons (func i) lst))))))