@@ -70,3 +70,20 @@ words' s = case dropWhile isSpace s of
71words : String -> List String
71words : String -> List String
72words s = map pack $ words' $ unpack s
72words s = map pack $ words' $ unpack s
74+foldr1 : (a -> a -> a) -> List a -> a
76+foldr1 f (x::xs) = f x (foldr1 f xs)
79+unwords' : List (List Char) -> List Char
81+unwords' ws = (foldr1 addSpace ws)
83+ addSpace : List Char -> List Char -> List Char
84+ addSpace w s = w ++ (' ' :: s)
87+unwords : List String -> String
88+unwords = pack . unwords' . map unpack