Re:Introducing Verve: minimalistic, static, functional language
by dom96 on Saturday July 09, 2016 @07:48AM
(#12061017)
Another language worth looking into if you're interested in effect systems is Nim. It includes an effect system that deals with both exceptions and other effects (like for example IO read/write effects): http://nim-lang.org/docs/manual.html#effect-system-exception.... The exception tracking is similar to a checked exception system but is far less annoying than Java's. In my opinion it is the best way to ensure exceptions are handled.
Responding to internal errors differently based on the caller's desire is possible with Lisp; there's a good overview here[3]. It looks like algebraic effects can do something similar, as described in this paper[4] (search for lisp and the relevant portion should show up).
[1]: http://math.andrej.com/eff/
[2]: http://www.idris-lang.org/
[3]: http://www.gigamonkeys.com/book/beyond-exception-handling-co...
[4]: https://hal.archives-ouvertes.fr/hal-01079206/file/effects-p...