[Haskell-cafe] Can we improve Show instance for non-ascii charcters?

Chris Wong lambda.fairy at gmail.com
Thu Feb 4 11:18:45 UTC 2016


Have you considered using IHaskell instead?

https://github.com/gibiansky/IHaskell

It supports images and interactive widgets. It shouldn't be too hard
to make it display Unicode text.

On Wed, Feb 3, 2016 at 12:37 PM, Takayuki Muranushi <muranushi at gmail.com> wrote:
> Show instance for non-ascii characters prints their character codes.
> This is sad for Haskell users that speaks language other than English.
>
>> 'A'
> 'A'
>> 'Ä'
> '\196'
>> '漢'
> '\28450'
>> print $ [(++"'s dad"), (++"'s mom")] <*> ["Simon", "John"]
> ["Simon's dad","John's dad","Simon's mom","John's mom"]
>> print $ [(++"の父"), (++"の母")] <*> ["田中", "山田"]
> ["\30000\20013\12398\29238","\23665\30000\12398\29238","\30000\20013\12398\27597","\23665\30000\12398\27597"]
>
> The function that needs improvement is showLitChar in GHC.Show, which
> currently prints any character larger than ASCII code 127 by its
> character code:
>
> http://haddock.stackage.org/lts-5.1/base-4.8.2.0/src/GHC-Show.html
>
> showLitChar                :: Char -> ShowS
> showLitChar c s | c > '\DEL' =  showChar '\\' (protectEsc isDec (shows
> (ord c)) s)
>
> On the other hand, there is GHC.Unicode.isPrint, the predicate for
> printable Unicode characters, that is calling on a foreign function
> u_iswprint for the knowledge.
>
> https://hackage.haskell.org/package/base-4.8.2.0/docs/src/GHC.Unicode.html#isPrint
>
> I think one of the solution is to  import and call u_iswprint from
> GHC.Show, too,
> but I don't know it's against any design choices.
>
>
>
> Yesterday, I had a chance to teach Haskell (in Japanese,) and I had to
> use English in some of the most exciting examples, like the
> Applicative List example above. I would heartedly like to see GHC
> improve in these directions, so that we can make more happy learning
> materials on Haskell.
>
> Let me ask your opinions on what is the best way to do this (or is
> better not to do this), before I submit something to GHC Trac.
>
>
> Best,
>
> --------------------------------
> -- Takayuki MURANUSHI
> -- RIKEN Advanced Institute for Computational Science
> -- http://nushio3.github.io/
> -- http://www.geocities.jp/takascience/
> --------------------------------
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe



-- 
Chris Wong (https://lambda.xyz)

"I had not the vaguest idea what this meant and when I could not
remember the words, my tutor threw the book at my head, which did not
stimulate my intellect in any way." -- Bertrand Russell


More information about the Haskell-Cafe mailing list