[erlang-questions] style question - best way to test multiple non-guard conditions sequentially
Richard A. O'Keefe
ok@REDACTED
Mon Jul 8 08:22:02 CEST 2013
On 8/07/2013, at 6:04 PM, Anthony Ramine wrote:
> With that logic, I see no reason to make if G -> B end different from case {} of {} when G -> B end.
Neither do I. It is excess complexity that we really don't need,
and it inhibits a range of source-to-source transformations that
ought not to be inhibited.
If I am told which *function clause* a selection failure is in,
better still, if I am told which *line* it is in, no distinction
between if/case/cond in exceptions is of any real help. The
*only* time it is helpful is when you have one 'if' and one 'case'.
Have *two* 'if's or *two* 'case's, and it's useless.
>
> Expanding cond to nested cases earlier in the compilation would mean confusing and misguided warning, e.g. "cond foobar -> ok end" would trigger the warning "no clause will ever match"; instead of the clearer "this clause will crash".
You have presented a good argument for rewording the error message.
That's all.
More information about the erlang-questions
mailing list