<p dir="ltr">I will surely take a look. Bertram Felgenhauer has come up with a nice improvement to the Integer building algorithm; I don't know if you have something better. Fractional stuff indeed looks very tricky; the current code, however, seems unlikely to be taking the right approach.</p>
<div class="gmail_extra"><br><div class="gmail_quote">On Oct 9, 2016 1:08 AM, "wren romano" <<a href="mailto:winterkoninkje@gmail.com">winterkoninkje@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I totally agree that the desired semantics should be:<br>
<br>
> readsInt "12e-3" = [12,"e-3"] -- yes, there is an int at the beginning of the string.<br>
> readsInt ('a' : ...) = [] -- yes, we can tell there isn't an int at the beginning of the string.<br>
<br>
<br>
In terms of algorithms for parsing things efficiently as well as<br>
failing fast, I highly recommend looking at what bytestring-lexing<br>
does. Though the implementations there read in ByteStrings, there's<br>
nothing about the algorithms that depends on that representation.<br>
Getting efficient (and correct!) parsing for Fractional types is quite<br>
a lot more complicated than it looks on the surface.<br>
<br>
--<br>
Live well,<br>
~wren<br>
______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/libraries</a><br>
</blockquote></div></div>