Text.PrettyPrint.HughesPJ -- has a ByteString version ever been considered?
benjovi at gmx.net
Mon Jan 24 17:15:31 CET 2011
On 24.01.11 03:01, Ryan Newton wrote:
> Hello libraries [= maintainer of 'pretty' package],
> I'm a happy user of the pretty printing library, with which I emit large
> quantities of nicely indented C++ code. Sometimes I append large strings
> with "text x<>".
> In this case performance improvements would not go unappreciated. Has there
> been any thought of a ByteString version?
it would be really interesting to know whether a 'naive',
backwards-compatible variant using Data.Text for the 'TextDetail'
datatype already provides useful performance improvements.
I've put a small patch online
which does this, and provides additional functionality via
> ptext :: T.Text -> Doc
> renderText :: Doc -> T.Text
I'm curious whether this helps.
> I notice that the source is only 1K lines. While I imagine that you
> wouldn't want to break the interface in a backwards compatible way, would it
> be possible to simple give the "TextDetails" type a parameter and then use a
> StringLike class (with length, append, what else?).
> Text.PrettyPrint.HughesPJ could keep the same interface, and the generic
> version could go in Text.PrettyPrint.HughesPJGeneric or
> Text.PrettyPrint.HughesPJ.Generic or whatever.
> P.S. I notice that other packages like mainland-pretty and ansi-wl-pprint
> are similarly committed to "String".
> Libraries mailing list
> Libraries at haskell.org
More information about the Libraries