
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? Hi Ryan, 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. cheers, Benedikt
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.
Cheers, -Ryan
P.S. I notice that other packages like mainland-pretty and ansi-wl-pprint are similarly committed to "String".
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries