Mercurial > hg > ishara
view sequences/@seq/foldl.m @ 6:0ce3c2070089
Removed duplicate code and fixed doc in timed_action.
author | samer |
---|---|
date | Mon, 14 Jan 2013 14:33:37 +0000 |
parents | 3f77126f7b5f |
children | 03694e5c8365 |
line wrap: on
line source
function x=foldl(fn,e,y,varargin) % foldl - Fold combinator for sequences % % This function applies an associative operator to a list of arguments, % starting from the left using the given starting element. % % foldl :: % (X,Y->X) ~'associative binary operator', % X ~'initial element', % seq(Y) ~'a lazy sequence' % -> X. if nargin<4, x=e; while ~isempty(y) x=fn(x,head(y)); y=next(y); end else opts=prefs('quiet',1,varargin{:}); x=e; while ~isempty(y) x=fn(x,head(y)); y=next(y); if ~opts.quiet, fprintf('.'); end optpause(opts); end end