module NHC.PackedString where
import Prelude hiding(span,length,Ix(..),substr,nil)
import DPackedString
import Length
import Index
import Substr
import Nil
span :: (Char -> Bool) -> PackedString -> (PackedString, PackedString)
span f p = sp 0 (length p)
where sp :: Int -> Int -> (PackedString, PackedString)
sp n l =
if n < l then
if f (index p n) then sp (n+1) l else (substr p 0 n, substr p n l)
else
(p, nil)
|