Pretty class as alternative for Show class
Johannes Waldmann
waldmann at imn.htwk-leipzig.de
Wed Feb 13 02:42:48 EST 2008
Henning Thielemann wrote:
> The Show class converts to String, the Pretty class could convert to a
> pretty printer data type like Doc. [...]
Ah yes, I use this since a long time
class ToDoc a where
toDoc :: a -> Doc
toDoc = toDocPrec 0 -- useful?
toDocPrec :: Int -> a -> Doc
http://141.57.11.163/cgi-bin/cvsweb/lib/Autolib/ToDoc/
I generally make even this output re-readable,
and I'm reading is via Parsec:
class Reader a where
readerPrec :: Int -> Parser a
http://141.57.11.163/cgi-bin/cvsweb/lib/Autolib/Reader/
and I also have the obvious DrIFT rules
that can generate standard instances for most types.
http://141.57.11.163/cgi-bin/cvsweb/drift/src/UserRuleToDoc.hs?rev=1.7
http://141.57.11.163/cgi-bin/cvsweb/drift/src/UserRuleReader.hs?rev=1.6
I will happily contribute this code to whatever Pretty class emerges.
(Well, it's free, so I'd have no way to not contribute it ...)
best regards, Johannes.
More information about the Libraries
mailing list