i'm sorry to interrupt,
    but all you REALLY NEED is to tweak the "try..catch" a little bit,
    in a manner that the catch clause receives and returns
    more comprehensible values, the values that are clearly linked
    with the failed expressions and human readable.

    you do not need a new messy CRYPTIC operator.

    try
       {ok, Result} = foo(...)
    , {ok, _} = foo2(...)
    catch
      {somehow_identify_which_line_failed, unobscured_the_rightside_value}


This here is exactly the problem -- you can't somehow identify which line failed unobscured with the right value.

[irrelevant technicalities skipped]

so this problem should be solved.
exactly this problem.
and another operator is not a solution.

option 1:
you introduce labels in the try's context

try
  a: {ok, Result} = foo()
, b: {ok, R} = foo2()
catch
  {a, Error_Code, Actual_Return_Value} -> ...
; {b, _} -> ...
end
_______________________________________________
eeps mailing list
[email protected]
http://erlang.org/mailman/listinfo/eeps

Reply via email to