Mercurial > hg > ishara
diff general/funutils/tail.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children | fbc0540a9208 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/funutils/tail.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,20 @@ +% 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 + +