[erlang-questions] Can't run my command line Erlang program
Sat Nov 16 12:26:26 CET 2013
On 11/15/2013 10:34 PM, Andrew Pennebaker wrote:
> Thanks, I might do that!
> ...so there's no way to tell dialyzer to just automatically add stdlibs
> to plt?
Dialyzer is agnostic of what stdlib is, whether it contains a module
named string or not, or for that matter whether you want to use the
string module from stdlib or some other module named string in your
application. So you need to tell it what applications to cache in your
.dialyzer_plt when you build it for the first time.
By the way, the sequence of commands you use below is not the one that I
would use. Instead, I would first build a minimal PLT once:
dialyzer --build_plt --apps erts kernel stdlib
and then use this PLT to analyze the modules of my application:
erlc -Wall +debug_info *.erl
You do not need to add your application's modules to the PLT to analyze
them. If at some point you discover that you need more stuff from the
OTP libraries to analyze your application (e.g. the 'random' module),
you can add them incrementally by a command of the form:
dialyzer --add_to_plt --apps crypto
Hope it helps,
> On Fri, Nov 15, 2013 at 2:52 AM, Anthony Molinaro
> <anthonym@REDACTED <mailto:anthonym@REDACTED>> wrote:
> You can add them to your .plt with something like
> # dialyzer --add_to_plt --apps crypto stdlib proper ...
> Which should get rid of the warnings.
> On Nov 14, 2013, at 8:03 PM, Andrew Pennebaker
> <andrew.pennebaker@REDACTED <mailto:andrew.pennebaker@REDACTED>>
>> Is there a way to clear the "unknown functions" from dialyzer
>> output? They tend to distract from any warnings I'm trying to find.
>> $ make lint
>> erlc -Wall +debug_info ios7crypt.erl
>> dialyzer *.beam --build_plt --quiet
>> dialyzer *.beam
More information about the erlang-questions