[erlang-questions] picky dialyzer
Kostis Sagonas
kostis@REDACTED
Thu Jan 13 14:09:27 CET 2011
Ulf Wiger wrote:
> On 13 Jan 2011, at 12:09, Kostis Sagonas wrote:
> ....
>> mfa() is an alias for {atom(),atom(),byte()}.
>
> Ahh, as in {Module, Function, Arity}?
>
> In the System Limits of the Efficiency Guide, it says that you can have
> 256 arguments in a function or fun. Since dialyzer is never wrong, I will
> assume that the Efficiency Guide is? :)
Let's see...
%%=========================================================
-module(f_256).
-export([f/256]).
f(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_)
-> ok.
%%==========================================================
% erlc f_256.erl
% ~/HiPE/otp/bin/erl
Erlang R14B02 (erts-5.8.3) [source] [smp:4:4] [rq:4] [async-threads:0]
[hipe] [kernel-poll:false]
Eshell V5.8.3 (abort with ^G)
1> l(f_256).
{"Kernel pid
terminated",application_controller,"{application_terminated,kernel,shutdown}"}
Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller)
({application_terminated,kernel,shutdown})
Well, what can I say? Dialyzer is never wrong! ;-)
I guess the efficiency guide needs some fixing.
Also, the compiler should better complain in such cases instead of
generating a bogus .beam file.
Kostis
More information about the erlang-questions
mailing list