[Haskell] IO, exceptions and error handling

Mark Carroll mark at chaos.x-philes.com
Mon Jun 14 12:03:04 EDT 2004


On Mon, 14 Jun 2004, Keith Wansbrough wrote:
(snip)
> to lose referential transparency.  What is the value of
>
> catchExcept (show (makeExcept "E1" + makeExcept "E2")) (\x -> x)
>
> ?  Haskell wouldn't be "purely functional" any more.
(snip)

We've already had these issues raised on haskell-cafe when I've been
wanting non-monadic synchronous exceptions. (-: The answer is that you
evaluate all branches sufficiently to discover all the exceptions raised,
and maybe have an ordering on exceptions such that you can return
"answers" deterministically (as a list of ones that occurred or
something). I'll be happy to follow discussion of this on haskell-cafe but
will be reluctant to say much that I've already said (e.g. in December
2002's "Error Handling") for fear of boring everyone silly.

-- Mark


More information about the Haskell mailing list