(define (digits->number lst base) (if (null? lst) 0 (let loop ((ret (car lst)) (lst (cdr lst)) (coeff base)) (if (null? lst) ret (loop (+ ret (* (car lst) coeff)) (cdr lst) (* coeff base))))))