@@ -115,8 +115,7 @@ module Data.Text.Lazy
115115
116116 -- ** Breaking into lines and words
117117 , lines
118− --, lines'
119− -- , words
118+ , words
120119 -- , unlines
121120 -- , unwords
122121
@@ -156,6 +155,7 @@ import Prelude (Char, Bool(..), Functor(..), Int, Maybe(..), String,
156155import qualified Prelude as P
157156import Data.Int (Int64)
158157import qualified Data.List as L
158+import Data.Char (isSpace)
159159import Data.String (IsString(..))
160160import qualified Data.Text as T
161161import qualified Data.Text.Fusion.Common as S
@@ -725,6 +725,12 @@ lines t = let (l,t') = break ((==) '\n') t
725725 in l : if null t' then []
726726 else lines (tail t')
727727
728+-- | /O(n)/ Breaks a 'Text' up into a list of words, delimited by 'Char's
729+-- representing white space.
730+words :: Text -> [Text]
731+words = L.filter (not . null) . splitWith isSpace
732+{-# INLINE words #-}
733+
728734revChunks :: [T.Text] -> Text
729735revChunks = L.foldl' (flip chunk) Empty
730736