On Tue, 11 Mar 2008, Donn Cave wrote:
On Mar 10, 2008, at 5:48 PM, Jonathan Cast wrote:
On 10 Mar 2008, at 12:37 AM, Donn Cave wrote:
...
An exception is, for me, any state that isn't properly accounted for in
its
immediate context. openFile could return 'Maybe Handle', but it doesn't,
so the context demands a Handle or an exception.
In the context of this discussion, `Maybe Handle' /is/ an exception type,
because Maybe is an exception monad. As is IO. This distinction is one
between an unusual-but-anticipated code path, and a case the programmer
simply didn't handle at all. The former is an exception; the latter is an
error.
Thanks for that summary!
I am not sure I understand what you're saying. `Error' may be open
to interpretation, but `exception' has a fairly unambiguous technical
meaning in Haskell, a non-local flow of control with associated data
type in Control.Exception.
The TRY construct for Maybe is called 'maybe', the exception handler is
the first argument to 'maybe'. The absence of 'Maybe' after calling
'maybe' shows that the exception was handled.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe