More specifically, how do I generate a new list of every Nth element from an existing infinite list?
E.g. if the list is [5, 3, 0, 1, 8, 0, 3, 4, 0, 93, 211, 0
[5, 3, 0, 1, 8, 0, 3, 4, 0, 93, 211, 0
My version using drop:
every n xs = case drop (n-1) xs of (y:ys) -> y : every n ys [] -> []
Edit: this also works for finite lists. For infinite lists only, Charles Stewart's solution is slightly shorter.