On Friday, 16 October 2015 at 11:48:19 UTC, Edwin van Leeuwen wrote: > zip(r, r[1..$]).map!((t) => t[1]-t[0]); And for InputRanges (not requiring random-access): zip(r, r.dropOne).map!((t) => t[1]-t[0]);