File tree Expand file tree Collapse file tree 9 files changed +55
-13
lines changed
Expand file tree Collapse file tree 9 files changed +55
-13
lines changed Original file line number Diff line number Diff line change 1- {-# LANGUAGE DeriveGeneric #-}
2- {-# LANGUAGE OverloadedStrings #-}
1+ {-# LANGUAGE DeriveGeneric #-}
2+ {-# LANGUAGE FlexibleInstances #-}
3+ {-# LANGUAGE OverloadedStrings #-}
4+ {-# LANGUAGE TypeSynonymInstances #-}
35
46{-# OPTIONS_GHC -fno-warn-orphans #-}
57
@@ -14,10 +16,10 @@ import Gauge
1416import Data.Char
1517import Data.Map (Map )
1618import qualified Data.Map as M
17- import Data. Text (Text )
18- import qualified Data. Text as T
19- import qualified Data. Text.IO as T
20- import qualified Data. Text.Lazy as TL
19+ import Prettyprinter.Compat. Text (Text )
20+ import qualified Prettyprinter.Compat. Text as T
21+ import qualified Prettyprinter.Compat. Text.IO as T
22+ import qualified Prettyprinter.Compat. Text.Lazy as TL
2123import Prettyprinter
2224import Prettyprinter.Render.Text
2325import GHC.Generics
Original file line number Diff line number Diff line change @@ -25,6 +25,10 @@ source-repository head
2525library
2626 exposed-modules :
2727 Prettyprinter
28+ , Prettyprinter.Compat.Text
29+ , Prettyprinter.Compat.Text.IO
30+ , Prettyprinter.Compat.Text.Lazy
31+ , Prettyprinter.Compat.Text.Lazy.Builder
2832 , Prettyprinter.Internal
2933 , Prettyprinter.Internal.Debug
3034 , Prettyprinter.Internal.Type
@@ -196,7 +200,6 @@ benchmark faster-unsafe-text
196200 , prettyprinter
197201
198202 , gauge >= 0.2
199- , text
200203
201204 hs-source-dirs : bench
202205 main-is : FasterUnsafeText.hs
Original file line number Diff line number Diff line change @@ -13,3 +13,5 @@ type Text = T.Text
1313length = T. length
1414lines = T. lines
1515toStrict = id
16+ pack = T. pack
17+ unpack = T. unpack
Original file line number Diff line number Diff line change 77
88module Data.Text.Lazy.Builder where
99
10- type Builder = String
11- fromText = id
12- singleton = (: [] )
13- toLazyText = id
10+ import Data.String (IsString (.. ))
11+
12+ newtype Builder = Builder (String -> String )
13+
14+ instance IsString Builder where
15+ fromString s = Builder (s ++ )
16+
17+ instance Semigroup Builder where
18+ Builder a <> Builder b = Builder (a . b)
19+
20+ instance Monoid Builder where
21+ mempty = Builder id
22+
23+ fromText :: String -> Builder
24+ fromText t = Builder (t ++ )
25+
26+ singleton :: Char -> Builder
27+ singleton c = Builder ([c] ++ )
28+
29+ toLazyText :: Builder -> String
30+ toLazyText (Builder b) = b " "
Original file line number Diff line number Diff line change 1+ module Prettyprinter.Compat.Text
2+ ( module Data.Text
3+ ) where
4+
5+ import Data.Text
Original file line number Diff line number Diff line change 1+ module Prettyprinter.Compat.Text.IO
2+ ( module Data.Text.IO
3+ ) where
4+
5+ import Data.Text.IO
Original file line number Diff line number Diff line change 1+ module Prettyprinter.Compat.Text.Lazy
2+ ( module Data.Text.Lazy
3+ ) where
4+
5+ import Data.Text.Lazy
Original file line number Diff line number Diff line change 1+ module Prettyprinter.Compat.Text.Lazy.Builder
2+ ( module Data.Text.Lazy.Builder
3+ ) where
4+
5+ import Data.Text.Lazy.Builder
Original file line number Diff line number Diff line change 44
55-- | Render an unannotated 'SimpleDocStream' as plain 'Text'.
66module Prettyprinter.Render.Text (
7- #ifdef MIN_VERSION_text
87 -- * Conversion to plain 'Text'
98 renderLazy , renderStrict ,
10- #endif
119
1210 -- * Render to a 'Handle'
1311 renderIO ,
You can’t perform that action at this time.
0 commit comments