@@ -38,6 +38,8 @@ module Data.Text.Lazy
3838 , unpack
3939 , singleton
4040 , empty
41+ , fromChunks
42+ , toChunks
4143
4244 -- * Basic interface
4345 , cons
@@ -203,6 +205,14 @@ singleton c = Chunk (T.singleton c) Empty
203205 unstream (S.singleton c) = singleton c
204206 #-}
205207
208+-- | /O(c)/ Convert a list of strict 'T.Text's into a lazy 'Text'.
209+fromChunks :: [T.Text] -> Text
210+fromChunks cs = L.foldr chunk Empty cs
211+
212+-- | /O(n)/ Convert a lazy 'Text' into a list of strict 'T.Text's.
213+toChunks :: Text -> [T.Text]
214+toChunks cs = foldrChunks (:) [] cs
215+
206216cons :: Char -> Text -> Text
207217cons c t = Chunk (T.singleton c) t
208218{-# INLINE [1] cons #-}