samer@4: % tail_eval - Evaluate thunk samer@4: % samer@4: % tail_eval :: thunk(B{1:M}) -> B{1:M}. samer@4: function varargout=tail_eval(thunk) samer@4: if isnumeric(thunk{1}), varargout=thunk{2}; samer@4: else samer@4: [varargout{1:nargout}]=feval(thunk{1},thunk{2}{:}); samer@4: end samer@4: end samer@4: samer@4: