
On 7 April 2011 11:29, Christian Maeder
I agree that Haskell files should be UTF-8, but I also agree that it is only relevant for Hackage (and Cabal) and already enforced by ghc-6.12. or higher.
It is relevant for all tools and systems which process Haskell sources.
The motivation for this proposal can only be that future cabal packages will use more and more non-ASCII characters as is possible via http://hackage.haskell.org/package/base-unicode-symbols-0.2.1.4 and LANGUAGE pragma "UnicodeSyntax" (that happens to have no support for "\" as lambda symbol - probably because lambda is a letter and no symbol!)
The motivation for this proposal is interoperability of all tools and systems which process Haskell source files. Perhaps I could have made that more clear.
However, I think, these extra characters only make sense for corner cases and should not be recommended for general purposes.
Please take a look at the following file: http://code.haskell.org/numerals/src/Text/Numeral/Language/ZH.hs I have many more like that. I do not consider Chinese a corner case. Nor the vast amount of languages which can not be represented using ASCII.
So my view is: Stick to ASCII and only if you must (not just for casual reasons) use UTF-8.
When to use certain characters is not part of the proposal.