[erlang-questions] style question - best way to test multiple non-guard conditions sequentially
Mon Jul 8 00:04:02 CEST 2013
> I couldn't decide which error should be thrown when the cond test doesn't
> return a boolean but I have found some references to cond expressions in
> an old paper  (page 37) and decided to stick to their choices.
To be honest, I couldn't see any good reason to make
cond E1 -> B1 ; ... ; En -> Bn end
any different from
case E1 of true -> B1 ; false ->
case En of true -> Bn
I see great virtue in there being *no* difference whatsoever
in the semantics of the two, so that the choice is *solely*
stylistic and rewriting one into the other (either way) *cannot*
break a working program.
Having looked at that reference, I do not see any advantage for
the more complicated version. As long as you can find out
*where* the error was, it just isn't _useful_ to know 'it was a
cond' rather than 'it was a case'; a program catching errors
would never want to treat them differently, and a human who has
been told _where_ can instantly see _what_.
More information about the erlang-questions