<div dir="ltr"><br><br><div class="gmail_quote">On Sat, Nov 7, 2009 at 9:54 PM, Henning Thielemann <span dir="ltr">&lt;<a href="mailto:lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
On Sat, 7 Nov 2009, Jose Iborra wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Sorry for the confusion, I never meant that c-m-e can show stack traces for asynchronous exceptions. It can not.<br>
</blockquote>
<br></div>
My post was not related in any way to asynchronous exceptions. It&#39;s just the everlasting issue of the distinction of programming errors and exceptions.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;m not sure if I managed to dispel your doubts, if not perhaps you could make your points more clear.<br>
</blockquote>
<br></div>
I&#39;m trying that for years now, repeatedly in this mailing list and on the Wiki:<br>
  <a href="http://www.haskell.org/haskellwiki/Error" target="_blank">http://www.haskell.org/haskellwiki/Error</a><br>
  <a href="http://www.haskell.org/haskellwiki/Exception" target="_blank">http://www.haskell.org/haskellwiki/Exception</a><br>
 I don&#39;t know how I can make it still clearer. It&#39;s just like concurrency vs. parallelism - somehow related, but it is important to distinguish them.<div><div></div><br></div></blockquote><div>And yet if I use library ABC, which I expected to be error-free, and it in fact has a programming error, is this an error or an exception from my point of view? Based on the definitions you posted, I believe the correct answer is &quot;error.&quot; However, I&#39;d much rather have a way to recover from that kind of error if it&#39;s logical.<br>
<br>For example, let&#39;s say that I&#39;m writing a web browser in Haskell (it could happen). If there&#39;s an error in the HTTP library which causes it to die on certain types of headers, I&#39;d much rather be able to tell the user sorry and let them continue browsing than to up and die with a &quot;Prelude.head&quot; message in their console.<br>
<br>Michael <br></div></div></div>