What you are looking for is cycle :: [a] -> [a] :
cycle [(+),(-)]
Type of this expression:
Prelude> :t cycle [(+),(-)] cycle [(+),(-)] :: Num a => [a -> a -> a]
cycle takes a list [a] and creates a list in which the given list repeats over and over. So cycle [1,2,3] produces [1,2,3,1,2,3,1,2,3,1,...]
source share