ref: b9f0554fb00ffee57f8ff08e932b015341ffac04
dir: /lib/Data/String.hs/
module Data.String(
IsString(..),
String,
lines, unlines,
words, unwords,
) where
import Prelude()
import Data.Bool
import Data.Char
import Data.Eq
import Data.Function
import Data.List
class IsString a where
fromString :: String -> a
instance IsString String where
fromString s = s
lines :: String -> [String]
lines "" = []
lines s =
case span (not . (== '\n')) s of
(l, s') ->
case s' of
[] -> [l]
_:s'' -> l : lines s''
unlines :: [String] -> String
unlines = concatMap (++ "\n")
words :: String -> [String]
words s =
case dropWhile isSpace s of
"" -> []
s' -> w : words s''
where (w, s'') = span (not . isSpace) s'
unwords :: [String] -> String
unwords ss = intercalate " " ss