An applicative paradigm of data-parallel computing is proposed which i
s based on nonscalar recurrence relations defining lazy sequences of o
bjects (streams). It is argued that variable can be localised inside s
imple recurrence relations to enable the compiler to infer the propert
ies of their associated objects. A mechanism of overloading array oper
ators with different-rank versions of an operation is proposed, called
anti-currying, which effectively puts all arrays in a single index sp
ace. Stream processing units can be connected to form a schema which c
an then be transformed into a function and used at a higher level of s
tream processing. The only significant constraint that the paradigm im
poses on code is the lack of list recursion.