Not to mention that
since Haskell is pure, it is *impossible* for the expression  show 20.2
:: String  to depend on the current locale.

This is a very valuable remark. Thanks! I will think about using some special functions to read and write numbers depending on current locale.