samer@3: function [h,x]=span(f,x) samer@3: % span - divide sequence using a test function samer@3: % samer@3: % span :: (A->bool), seq(A) -> seq(A), seq(A). samer@3: % samer@3: % span(f,x) = takeWhile(f,x), dropWhile(f,x) samer@3: % Will not terminate if head segments turns out to be infinite. samer@3: [Y,x]=spanc(f,x); samer@3: h=cellseq(Y);