On Wed, 2009-03-25 at 18:14 +0100, Benja Fallenstein wrote: > On Wed, Mar 25, 2009 at 3:52 AM, Duncan Coutts
> > Of course your tryArith only tests for certain kinds of _|_ value, but > > in principle the problem is the same. > > That's not *quite* how the semantics of Haskell exceptions are > defined, actually, unless I'm misunderstanding something or the > thinking about it has changed since the original paper on the topic: Yep, that's the semantics I've been working from too. I was not being precise when I said "tests for _|_". As you point out, the semantics of imprecise exceptions distinguishes exceptions from bottom, however pure code cannot make that distinction and so that's why I was lumping them together and saying that tryArith tests for certain kinds of _|_ value. > tryArith is still noncontinuous, though, and nondeterministic, too. Consider: Those are nice examples. Thanks for that. I was too tired to come up with any :-) Anyway, I hope this is enough to dissuade people from using unsafePerformIO to catch exceptions. Duncan _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
