[darcs-users] Replace src/Printer.lhs with an external library?

Nicolas Pouillard nicolas.pouillard at gmail.com
Thu Mar 26 14:22:13 UTC 2009

Excerpts from Ian Lynagh's message of Thu Mar 26 15:06:58 +0100 2009:
> On Thu, Mar 26, 2009 at 09:07:57AM +0000, Eric Kow wrote:
> > On Thu, Mar 26, 2009 at 10:01:51 +0100, Nicolas Pouillard wrote:
> > > I think that one advantage of Darcs' printer was performances, some minor
> > > others are colors, escapings, and tunable policies.
> > 
> > Would it make sense to turn this into a general purpose library of our
> > own?  Would anybody else have a use for this?  Ian wrote large chunks of
> > this (at least the ColorPrinter module, if I remember), maybe he would
> > be inclined to comment,
> It's been a long time since I looked at this code, but these are the
> differences I can think of between darcs's Printer and Text.PrettyPrint:
> * Back then, Text.PrettyPrint didn't have zeroWidthText. Now it does,
>   which makes adding colour support more reasonable.
> * darcs's Printer is simpler than Text.PrettyPrint, which may or may not
>   mean that it is faster; I suspect not, though.

I just remember David claiming the opposite.

> * Text.PrettyPrint doesn't give you a way to print any sort of packed
>   string type without unpacking it. This is waiting on there being a
>   suitable unicode packed string type for it to use.

That's a good point.

> So I'd say that switching to Text.PrettyPrint after the third point is
> fixed, assuming I'm right about the second, would be the way to go. But
> someone should look into whether there are any other problems lurking.
> > for example, on the feasibility of a general
> > printer library that darcs and camp could share?
> camp currently uses Text.PrettyPrint, although it doesn't do much pretty
> printing and doesn't do anything clever.

Nicolas Pouillard

More information about the darcs-users mailing list