Если я правильно понимаю, вы хотите сложить все числа в списке со смешанными типами элементов.Если это так, в вашем коде есть несколько ошибок:
(define (sumAdd list) ; `list` clashes with built-in procedure
(cond
((null? list) '()) ; base case must be zero for addition
((null? (cdr list)) list) ; why discard the last element?
((symbol? list) sumAdd(cdr list)) ; that's not how procedures are called
(else (+ (car list) (sumAdd (cdr list)))))) ; this line is fine :)
Это правильный способ реализации процедуры:
(define (sumAdd lst)
(cond
((null? lst) 0) ; base case is zero
((symbol? (car lst)) (sumAdd (cdr lst))) ; skip current element
(else (+ (car lst) (sumAdd (cdr lst)))))) ; add current element
Это работает, как и ожидалось:
(sumAdd '(1 a 2 b 3 c))
=> 6