[erlang-questions] [erlang-patches] Proposal: reinstate pre-built PLT for Dialyzer

Tuncer Ayaz tuncer.ayaz@REDACTED
Thu Jan 23 16:18:59 CET 2014

On Thu, Jan 16, 2014 at 7:15 PM, Sean Cribbs wrote:
> Hi Erlangers,
> Ages ago, OTP shipped with a pre-built PLT for dialyzer, which was
> removed reasons forgotten by most of us (probably the time/cost of
> building it). Nowadays, because dialyzer is much improved
> (parallelism!) and our computers are faster and have more cores, a
> PLT for all of the standard library might only take a few minutes to
> build.
> We've been increasing our usage of dialyzer at Basho and I have felt
> that it seems extremely wasteful and unnecessary to build a partial
> PLT of the standard library for every single project, when that
> information only changes across OTP releases. I feel the Erlang/OTP
> build process should include building a PLT that encompasses the
> entire standard library. Aside from the reduced cost of building
> PLTs for every different app, this may encourage others to start
> using dialyzer on their projects.

How do you define the standard library? I mean, why not include
all libs/apps?

I usually build a comprehensive PLT for each OTP release and
unfortunately that uncovers type errors which should not be shipped in
a release :(.

> I'm offering to do the work to make this happen, but I need a little
> guidance on where to start. I've looked at the dialyzer Makefile
> from an older release where the PLT was included, but I'm concerned
> the project structure has changed enough that the rules there no
> longer apply. It seems the dialyzer runtime itself might also need
> to be tweaked to automatically include the prebuilt PLT.
> Looking forward to hearing your thoughts and direction. Cheers!

>From what I recall, a PLT references the beam files with absolute
filenames. This might pose a problem you'd have to solve first.

More information about the erlang-questions mailing list