On 11/7/07, skaller <[EMAIL PROTECTED]> wrote:
> Roughly: exceptions are just too dynamic and global. Whereas
> using variants (option types etc) are too static and local.
>
> Haskell can partly solve this with Monads, but the solution
> still isn't really satisfactory (because it is too invasive).

Then there's the erlang model where you have a huge number of
lightweight threads and if there's a fatal error, just kill the
current thread. Other threads can register that they want to know if
the thread died. These monitor threads can then handle the error. It's
kind of similar to threads, but using erlang's highly cocurrent model
things are done at a much more different scale.

There's also lisp's condition system, which basically throws a
continuation that allows you recover from an error. This can help with
exceptions that are thrown at a low level that don't really make sense
at the high level. For instance, parsing a log file could throw a
condition that lets you skip over corrupted messages.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to