<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 18, 2015 at 10:57 AM, Yitzchak Gale <span dir="ltr"><<a href="mailto:gale@sefer.org" target="_blank">gale@sefer.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Michael Snoyman wrote:<br>
> I have a hard time thinking of a list of something besides<br>
> `Char`s for which we'd want an `IsString` instance to work for.<br>
<br>
</span>I have an easy time. The `Data.Char` module is always<br>
woefully behind the Unicode standard, and there are<br>
always Unicode features that are implemented differently<br>
than what some people might want.<br>
<br>
A case in point is toUpper and toLower. Those were fixed<br>
in Data.Text, but are still broken in Data.Char.<br>
<br>
For me, so far this has not been important enough for<br>
me to need to implement my own Char type, or a newtype<br>
wrapper with improvements. But it is certainly conceivable<br>
that others might need this.<br>
<br>
Whether or not you like those examples - it is really the<br>
wrong approach to outlaw IsString [a] instance forever more<br>
for any a except Char.<br></blockquote><div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm a little skeptical that someone would be concerned about proper Unicode support and still want [Codepoint]---with no abstraction barrier---to be the string type. I think it'd even be good if we could ditch [Char] as the blessed string type in Haskell altogether. But that's a much more involved process.<br></div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, this is a serious problem that should be solved. But<br>
are we really giving up on doing it the right way and fixing<br>
defaulting rules? Simon wrote that it wouldn't be hard.<br></blockquote><div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">​It doesn't really matter how hard it is unless someone actually does it.<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm not exactly sure what people want out of beefed up defaulting, and what is feasible, either. Fixing 'show ("fizz" ++ "buzz")' is easy. If it also has to fix 'length "hello"', that may be more tricky, although it's something that the instance solution isn't really capable of fixing. So it's best not to get hung up on that.<br> </div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I propose: Set a reasonable time limit for someone to step<br>
up and provide a suggested fix to the defaulting rules. If that<br>
doesn't happen, then bite the bullet and do it using<br>
the type equality<br></blockquote><div><br><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">What is a reasonable time limit? It's been two years already. 7.12 is probably between 1/2 and 1 more. Do we really need more than that?<br><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;display:inline">-- Dan<br></div></div></div></div></div>