You want to use map
not foldl
s = map evenise [0..]
map
goes through a list and applies the mapped function to each element. foldl
is used for "reducing" a list into a value--for example, adding all the elements in a list can be done like
foldl (+) 0
also, foldl
only works on finite lists, while foldr
(also for reducing) will sometimes work on infinite lists.