<div class="gmail_extra">One can always use a Maybe to make an IsString literal total. Perhaps this is what library authors should do in those cases when a fromString implementation is obviously partial.</div><div class="gmail_extra">

<br></div><div class="gmail_extra">i.e. instead of instance IsString XML where ...</div><div class="gmail_extra">define: instance IsString (Maybe XML) where ...<br><br>HTH, </div><div class="gmail_extra">Ozgur</div><div class="gmail_extra">

<br><div class="gmail_quote">On 24 April 2012 15:03, Yitzchak Gale <span dir="ltr">&lt;<a href="mailto:gale@sefer.org" target="_blank">gale@sefer.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">Daniel Peebles wrote:<br>
&gt; Why are potentially partial literals scarier than the fact that every value<br>
&gt; in the language could lead to an exception when forced?<br>
<br>
</div>That&#39;s a legitimate question, but it&#39;s strange to hear it from<br>
you.<br>
<br>
People ask that same question about Haskell&#39;s static<br>
type system. Why bother? Every value could lead to an<br>
exception when forced. So we might as well check<br>
everything at run time.<br>
<br>
Wouldn&#39;t it be ironic if the one thing that every language<br>
other than Haskell is able to check at compile time,<br>
namely the static syntax of string literals, could only be<br>
checked at run time in Haskell? Especially when, with just<br>
a little care, we could easily continue to check it at compile<br>
time while still supporting string literals of type Text<br>
and ByteString.<br>
<br>
I guess I&#39;m just not understanding your question.<br>
<br>
Thanks,<br>
<div class="HOEnZb"><div class="h5">Yitz</div></div></blockquote></div>
</div>