[Haskell-cafe] GHC rendering of non-ASCII characters configurable?

Richard Cobbe cobbe at ccs.neu.edu
Sun Jul 29 20:04:11 CEST 2012


I'm working on an application that involves processing a lot of Unicode
data, and I'm finding the built-in Show implementation for Char to be
really inconvenient.  Specifically, it renders all characters at U+0080 and
above with decimal escapes:

    Prelude> '\x80'
    '\128'

This is annoying because all of the Unicode charts give the code points in
hex, and indeed the charts are split into different PDFs at numbers that
are nice and round in hex but not in decimal.  So in order to figure out
which character I'm looking at, I have to convert back to hex and then look
it up in the charts.

Is there any way to ask GHC to render super-ASCII characters with their
hexadecimal escapes, instead?  I'm perfectly happy to write my own custom
Show instance, but I don't know how to hook that into ghci's REPL (or, for
that matter, the routines that HUnit uses to generate the messages on
failed tests, etc.).

I'm using GHC 7.4.1 on MacOS 10.7.4.

Thanks,

Richard



More information about the Haskell-Cafe mailing list