Haskell- looping every second element of list

haskell, list, list-comprehension

Solution

second (x:y:xs) = y : second xs;
second _ = []

List comprehension may not be useful.

Problem

I want to be able to loop every second element of a given list. I can do this recursively as so: ``` check validate (x:xs) = check (validate x) (tail xs) ``` But the problem is that I need a function that accepts a list as parameter, then returns a list consisting of only every second element in the list, starting with (and including) the first element of the list, and I do not think this is possible recursively. Can someone show me how to this using list comprehension? This would probably be the best approach.

Original source