> The real fix will happen when Data.Text moves from UTF-16 to UTF-8:
This work was completed a while ago.
https://hackage.haskell.org/package/text-2.0/changelog
> I don't know the timeline for its implementation in GHC.
Data.Text is a library, not a compiler feature, so completing it was not tied to GHC.
UTF-8 as the de facto for `text` was merged a few months ago. It's in >=2.0.
Re:What Is IO Monad? (2018) [video]
by carterschonwald on Thursday March 10, 2022 @07:45AM
(#30626272)
The most recent release is utf8
https://discourse.haskell.org/t/hf-tech-proposal-1-utf-8-enc...
Fortunately this proposal has been accepted, but I don't know the timeline for its implementation in GHC.
Until then, working with UTF-8 is kind of convoluted
https://serokell.io/blog/haskell-with-utf8
Also: libraries need to be fixed to accept Data.Text instead of String. IsString helps (it's a typeclass that contains all string types) but only if APIs take it instead of defaulting to String. Adding random string conversions to cope with legacy APIs is very annoying.