Close, but there are still a few oddities in your code.burton wrote:(dolist (sum (lst)
(sum 0))
(if (t(oddp lst))
(setq sum (+ 1 sum)
(
)
im not sure..
DOLIST doesn't take the same parameter list as DO. The function prototype is (DOLIST (var list [result]) body), where the result-form is optional. Use LET to create a counter outside the loop: (let ((count 0)) ...). Then iterate over each item in a list: (dolist (item list) ...).
I'm not sure what the first clause in your IF does. It should look something like (if (oddp item) (incf count)), or preferably use WHEN for IF statements with no "else" clause.
[OT]: Recursion is the "Schemey" way to write code. It is not so popular in common lisp.