[erlang-questions] Must and May convention

Valentin Micic <>
Wed Sep 27 12:37:57 CEST 2017

On 27 Sep 2017, at 11:25 AM, Attila Rajmund Nohl wrote:

> 2017-09-27 11:08 GMT+02:00 Joe Armstrong <>:
> [...]
>> This turns out to be very convenient - I read many files
>> in my programs, so it's nice to know that must_read_file
>> will print a nice error message and terminate
>> if I give it a bad filename.
>> Note: I can get the program to crash by writing
>>   {ok, B} = file:read_file(F)
>> But I don't get a nice error message telling me the filename.
>> Any takers?
> My problem with all kinds of very common prefixes is that it breaks
> function name autocompletion. Or at least makes it harder to use when
> I have dozens/hundreds/thousands of function names starting with the
> same 3-5 characters - either I have to type those 3-5 characters all
> the time plus any more characters to find unique prefix for
> autocompletion or have to autocomplete twice (one for the may/must
> difference, one for the actual function name). Eclipse (for Java)
> helpfully shows the method signature including return value and thrown
> exceptions - I think this problem should be solved by the IDEs and not
> by naming conventions.
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

Maybe you could solve this by using suffix instead of prefix?
Thus, instead of "must" or "may",  you could  just use suffix "throws", if functions will raise an exception.

read( … )  for no exception
read_throws(…) for functions raising exception.


More information about the erlang-questions mailing list