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
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
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
- 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
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