Suppose we wish to compute successive differences. In J:

succ_diff =: 2 & (-~/\\)

i.e., quite easy with dyadic infix, though this acts strangely: it applies -~/ to each infix (which is an array) of length 2.

To think of how this works, consider 2 & ([\):

   2 & ([\\) (i.10)
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9

i.e. one can imagine building up a 9 2 array and then folding each row.

This turns out to be not quite how it works under the hood; 2 f/\ y is an idiom that is recognized.

In Haskell:

λ:> let succDiff xs = zipWith (-) (tail xs) xs

This is more direct; we use (lazy) linked lists.