hsc3-lang-0.8: Help/Pattern/List/pseq.help.lhs
pseq :: [P a] -> P Int -> P a
Cycle over a list of patterns. The repeats pattern gives
the number of times to repeat the entire list.
> import Sound.SC3.Lang.Pattern.List
> pseq [1, 2, 3] 2
Unlike Pseq, pseq does not have an offset argument to
give a starting offset into the list.
> import Sound.SC3.Lang.Collection
> pseq (rotate 3 [1, 2, 3, 4]) 3
Because the repeat counter is a pattern one can have
a random number of repeats.
> pseq [1, 2] (pwhite "u" 1 9)
For the same reason the pattern is static when re-examined.
> let p = pseq [0, pseq [1] (pwhite "u" 1 3), 2] 5
> in ptake 24 p
Only the first element of the repeat pattern is consulted.
> let p = pseq [1,2] 1
> in pseq [1] p
If one specifies the value pinf for the repeats variable,
then it will repeat indefinitely.
> ptake 9 (pseq [1, 2, 3] pinf)