function Y=diffwith(F,X)
% diffwith - Generalised diff using argbitrary binary function
%
% diffwith :: (A,A->B), seq A -> seq B.
%
% The given function gets called with the current value as the
% first arguments and the previous value as the second. 

Y=sfndata(@diffst,head(X),next(X));

function [y,s]=diffst(x,s)
	y=F(x,s);
	s=x;
end
end

