Source

text / Data / Text / Lazy / Builder.hs

Full commit
Bryan O'Sullivan c6bb1bb 
David Terei 3555c25 


Bryan O'Sullivan 713b486 



Bryan O'Sullivan c0744b9 

Bryan O'Sullivan 713b486 
Bryan O'Sullivan 4d31ea8 
Bryan O'Sullivan 713b486 



Johan Tibell 0b93faa 




Bryan O'Sullivan c0744b9 


Johan Tibell 0b93faa 






Michael Thompson 01471e9 

Bryan O'Sullivan 713b486 
Michael Thompson 01471e9 




Bryan O'Sullivan 713b486 





Bryan O'Sullivan a1b5828 
Bryan O'Sullivan 713b486 




Bryan O'Sullivan 679826e 
Bryan O'Sullivan 713b486 




Bryan O'Sullivan 3b58358 
{-# LANGUAGE BangPatterns, CPP, Rank2Types #-}
#if __GLASGOW_HASKELL__ >= 702
{-# LANGUAGE Trustworthy #-}
#endif

-----------------------------------------------------------------------------
-- |
-- Module      : Data.Text.Lazy.Builder
-- Copyright   : (c) 2013 Bryan O'Sullivan
--               (c) 2010 Johan Tibell
-- License     : BSD3-style (see LICENSE)
--
-- Maintainer  : Johan Tibell <johan.tibell@gmail.com>
-- Stability   : experimental
-- Portability : portable to Hugs and GHC
--
-- Efficient construction of lazy @Text@ values.  The principal
-- operations on a @Builder@ are @singleton@, @fromText@, and
-- @fromLazyText@, which construct new builders, and 'mappend', which
-- concatenates two builders.
--
-- To get maximum performance when building lazy @Text@ values using a
-- builder, associate @mappend@ calls to the right.  For example,
-- prefer
--
-- > singleton 'a' `mappend` (singleton 'b' `mappend` singleton 'c')
--
-- to
--
-- > singleton 'a' `mappend` singleton 'b' `mappend` singleton 'c'
--
-- as the latter associates @mappend@ to the left. Or, equivalently,
-- prefer
--
--  > singleton 'a' <> singleton 'b' <> singleton 'c'
--
-- since the '<>' from recent versions of 'Data.Monoid' associates 
-- to the right.

-----------------------------------------------------------------------------

module Data.Text.Lazy.Builder
   ( -- * The Builder type
     Builder
   , toLazyText
   , toLazyTextWith

     -- * Constructing Builders
   , singleton
   , fromText
   , fromLazyText
   , fromString

     -- * Flushing the buffer state
   , flush
   ) where

import Data.Text.Lazy.Builder.Internal