Alright, some ppl asked us to
rephrase this, so:
The plan is to take the function
syntax:
def name(args):
and add an optional "with" to it:
def name(args) with exceptions:
these then get added to the
function, similar to e.g. default args. when
an exception is thrown*, the VM then
checks these and converts relevant
exceptions into RuntimeError, e.g.:
def foo():
raise Bar
def baz() with Bar:
foo()
baz()
would make a RuntimeError, because
foo raised a Bar and the VM sees that
Bar is in baz's with.
Does with Bar mean that Bar is expected?
If so who cares if foo raises it? Are you really saying I
cannot call functions to
implement a complex algorithm that raises exceptions?