Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/PackedString/Span.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


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)

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.