Proposal: Deprecate decodeUtf8

Yuras Shumovich shumovichy at
Thu Aug 18 11:28:11 UTC 2016

Hi Niklas,

AFAIK `text` is not maintained by CLC:
(Please correct me if I'm wrong)

You should probably work directly with the maintainer, e.g. open an
issue. I think it is OK to discuss it on the list, but it should be
clear that the maintainer is free to ignore any decision made here.


On Thu, 2016-08-18 at 17:08 +0800, Niklas Hambüchen wrote:
> I propose to add a deprecation pragma to the partial function
> Data.Text.decodeUtf8.
> I see checks or decoding failure accidentally omitted from production
> code every week. I claim decodeUtf8 to be *the* most abused partial
> function in the current Haskell ecosystem (with `head` and `tail` at
> least everybody knows they should feel bad when typing them down).
> decodeUtf8' with custom error message is a better solution in all
> cases
> I have seen and can come up with.
> I therefore propose:
>   * Add deprecation pragma to decodeUtf8
>   * Do it with Text.Lazy and *16/*32 functions too
>   * But keep them indefinitely (we don't want to break compiles)
> I believe that deprecating decodeUtf8 will result in lots of useful
> warnings across the world every day and less software crashing at
> runtime.
> Discussion period 2 months.
> Thanks!
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list