words -package:text-zipper package:streaming-bytestring

words breaks a byte stream up into a succession of byte streams corresponding to words, breaking on Chars representing white space. This is the genuinely streaming words. A function that returns individual strict bytestrings would concatenate even infinitely long words like cycle "y" in memory. When the stream is known to not contain unreasonably long words, you can write mapped toStrict . words or the like, if strict bytestrings are needed.
The unwords function is analogous to the unlines function, on words.