[erlang-questions] erlang-questions Digest, Vol 24, Issue 11

John Haugeland <>
Mon May 4 17:00:34 CEST 2009

>  My $0.02 is that this advice is, and always has been, hogwash. It is
>>  a rare function that can return several valid answers. So, the
>>  default should be to return a valid answer, i.e. one that can be
>>  used directly, or throw an error.
>>  My theory is that the people who wrote this "programming rule" were
>>  (good) C programmers, and thus felt a need to check if the value
>>  returned was ok before they dared use it.
> Your theory is incorrect.  The reason keysearch returns tagged result
> values is that the thing you're searching for might have a value of false.
> Tagged results are the only way to return a value such that any value is
> legal; otherwise you need a placeholder value for "nothing found", which is
> not a tolerable admission in basic datastructure behavior.  There is no way
> to guarantee that every legal value in a datastructure can be unambiguously
> fetched without tagging.
> Manual advice is correct.  It's generally a bad idea to call the advice in
> the manual hogwash when you're still guessing about the reason it was
> there.  This is honestly pretty 101.

Aaaaaaaaaaaand then I drink more coffee, realize that it returns the
complete tuple rather than the field, that I'm thinking of proplists and
that I've made a jackass of myself.  Lovely morning for some dumb, don't you

I retract this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090504/7e91984b/attachment.html>

More information about the erlang-questions mailing list