view general/funutils/tail.m @ 6:0ce3c2070089

Removed duplicate code and fixed doc in timed_action.
author samer
date Mon, 14 Jan 2013 14:33:37 +0000
parents e44f49929e56
children fbc0540a9208
line wrap: on
line source
% tail1 - Call function with tail recursion
% 
% tail1 :: (A{1:N}->thunk(B{1:M}), A{1:N} -> B{1:M}.
%
% thunk(B{1:M}) ::= 
%    exists C{1:L} . cell { C{1:L}->B{1:M}, cell { C{1:L} } }
%  | cell { {0}, cell { B{1:L} } }
%  | unit -> B{1:M}.

function varargout=feval_tail1(fn,varargin)
	ret=fn(varargin{:});
	keyboard
	if ~isnumeric(ret{1})
		[varargout{1:nargout}]=feval(ret{1},ret{2}{:}); 
	else
		varargout=ret{2}(1:nargout); 
	end
end