OK, so I will attempt to summarize what I’ve taken away from this discussion:
-
@Tikhon beautifully summarizes my experience, I guess there are probably many more that have had the same experience. I wonder how many of already gone down this road and gave up some where else along the path.
- While we work a lot with the
Text
datatype, ByteString
is a more appropriate replacement for String
in most situations (particularly getEnv
and related functions interacting with the environment - those values are not best represented/handled with Text
). My topic/question here should have focused on ByteString
, not Text
. Thanks to @jaror (and several others that spoke to me privately about this) for helping me understand the details.
- It’d probably be useful to add some helper functions that convert to
Text
at times, but we should be talking more about replacing String
.
- There is no good use for
String
, and it’s continued existence is inexplicable, except inertia (and I would guess politics?).
As a side note, I have attempted to figured out where to make the proper “proposal” for such a change, but I couldn’t locate it and gave up (more than once). In particular, I couldn’t figure out if I should be reaching out to the base
maintainers, or GHC, or someone else, or where the correct place to put that proposal.
Please LMK if you think there is a better next step than "Proposing we deprecate use of String
, to be replaced by ByteString
".
One last question: Am I just walking into a political dust storm? Am I crazy to advocate for change here? Is this a waste of time?
Thanks for the feedback and discussion on this