C10 - initial
The each sift will return a strided list given a supplied number.
| Position | Type | Description | Example | 
|---|---|---|---|
| 0 | an integer | return a strided list with the given stride number | 2 | 
The following sift when added to a command will return each second element in the list starting and including the first zero-indexed element:
"sift", wasListToCSV([ "each", 2 ]),
Given the input
data=a,1,b,2,c,3,d,4,e,5
the expected output is:
data=a,b,c,d,e
 of elements, the
 of elements, the each sift will return the subset  where
 where  represents the length of the list
 represents the length of the list  ,
,  are indices of the list and
 are indices of the list and  is the stride. This may seem counter-intuitive for non-programmers since the selection is expected to start from
 is the stride. This may seem counter-intuitive for non-programmers since the selection is expected to start from  ignoring indices that conventionally start at
 ignoring indices that conventionally start at  . That is, the selection formula for the subset
. That is, the selection formula for the subset  is expected to be
 is expected to be  . In case the latter behaviour is desired, then an additional
. In case the latter behaviour is desired, then an additional skip sift can be used to offset the start of the list such that the selection formula for the subset  becomes
 becomes  .
.For example, suppose that each second element in a list would have to be selected without accounting for zero-based indexed arrays or lists, then the sift would be:
"sift", wasListToCSV([ "skip", 1, "each", 2 ]),
similarly, for each third element in a list:
"sift", wasListToCSV([ "skip", 2, "each", 3 ]),