Different Way Forward
J, 15 9 7 bytes

Very easy. Takes depth and list as left and right arguments.

-~/\~&amp;2


As an explicit definition without all the adverbial trickery, this reduces to

4 : '(2 -~/\ ])^:x y'



-~/\~&amp;2 y – The forwards difference of y.
x -~/\~&amp;2 y – The x-th forwards difference of y.


If I were to make a serious (i.&thinsp;e. non-golfed) definition of this function, I would probably do something like this:

(}. - }:) : ($:@[&amp;0)


The monadic case computes the forward difference whereas the dyadic case computes the x-th forward difference.

Even simpler, but not exactly equal:

+/\inv


+/\ yields a vector of the sums of the prefixes of the argument. inv (defined as ^:_1) is a conjunction that inverses a verb. This works wherever J knows how to inverse a verb and for the case of +/\, J knows how to.