Text.PrettyPrint.HughesPJ -- has a ByteString version ever been considered?

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Mon Jan 24 03:09:49 CET 2011

On 24 January 2011 12:01, Ryan Newton <rrnewton at gmail.com> 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?

Not quite what you're asking, but I'm almost ready to release a text
[1] version of wl-pprint [2].  The darcs repo can be found at

[1]: http://hackage.haskell.org/package/text
[2]: http://hackage.haskell.org/package/wl-pprint

> 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.

I'm not sure how well that would work, especially because you'd
typically want to use a Builder for the internals (maybe a DList for
String?) rather than the type itself.

Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com

More information about the Libraries mailing list