samer@3: % foreach - do an action for each element in a sequence in order samer@3: % samer@3: % foreach :: (A=>void), seq(A), options {} -> action. samer@3: function foreach(f,X,varargin) samer@3: iterate(@g,X,varargin{:}); samer@3: function x=g(x) samer@3: f(head(x)); samer@3: x=next(x); samer@3: end samer@3: end