[erlang-questions] tuple modules, or Set:to_list() is official?
Loïc Hoguin
essen@REDACTED
Tue Nov 27 10:34:48 CET 2012
On 11/27/2012 09:34 AM, Motiejus Jakštys wrote:
> Hello,
>
> I just wrote sets:to_list(SomeSet), and stopped for a second. So does
> this[1] really mean that these are equivalent, supported, and both right
> ways to do the same work?
>
> set:to_list(SomeSet)
> SomeSet:to_list()
>
> Is there an underlying message somewhere "if you can, you not
> necessarily should?"
>
> (I am aware that dialyzer will not understand me until R16, but this
> doesn't concern me now).
>
> Answer "go to hell" is also good. That way I will learn that some people
> do hate it and will, and I don't mind programming in subset of Erlang
> for the sake of common good (the same way I appreciate my colleagues
> keeping 80 character line limit just for me).
I still don't like it. It looks like you call a /0 function when it's in
fact a /1.
How do you distinguish this?
SomeSet:to_list() %% SomeSet = set
SomeSet:to_list() %% SomeSet = {set, [stuff]}
It's fine until you mess up somewhere.
Another case, if you mistakenly save {ok, SomeSet} to some variable, you
end up calling the module ok with a function of arity different of what
you intended. That'll do wonder for error messages readability.
This syntax makes no sense.
--
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu
More information about the erlang-questions
mailing list