I\'m having a bit of trouble implementing this program in Scheme, although I think I\'m 90% of the way there. Unfortunately I need to be a little vague about it since this is a
There are a number of minor issues with this code that should be mentioned before I demonstrate the proper code.
Anyway, here is the function you are looking for:
(define (evens lst)
(if (or (null? lst) ; if the list is empty
(null? (cdr lst))) ; or the list has a single element
'() ; then return the empty list
(cons (cadr lst) ; otherwise `cons` the second element
(evens (cddr lst))))) ; and recursively advance two elements
I tested the function in DrRacket 5.3 and (evens '(A B C D)) returns '(B D), as you specified. If you have any trouble, let me know. Good luck with your homework!