Proposal: Deprecate decodeUtf8

Oleg Grenrus oleg.grenrus at iki.fi
Thu Aug 18 10:11:33 UTC 2016


Or should it be changed

- decodeUtf8 = decodeUtf8With strictDecode
+ decodeUtf8 = decodeUtf8With lenientDecode

> On 18 Aug 2016, at 12:08, Niklas Hamb├╝chen <mail at nh2.me> 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 haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20160818/e92c3f9f/attachment.sig>


More information about the Libraries mailing list