[erlang-questions] edoc, erlc and dialyser type spec consistency
Kostis Sagonas
kostis@REDACTED
Thu Nov 19 17:39:32 CET 2009
Joe Armstrong wrote:
> On Thu, Nov 19, 2009 at 1:02 PM, Kenneth Lundin
> <kenneth.lundin@REDACTED> wrote:
>> I agree with Kostis answers and can also inform you that we are working
>> on a solution for a) below.
>>
>> The plan is:
>> Edoc will then parse and use the same -spec and -type as Dialyzer.
>> If a file contains both -spec/-type and edoc comments with @spec and @type
>> you will have to choose which notation to use (as a compatiblity mode) for
>> already existing edoc markup.
>
> Excellent.
>
> One more question:
>
> - does the dialyzer pick up @specs from edoc comments if there are
> no -spec's in the code?
The short answer is "No".
The long answer is that even if there were some tool that would pick up
@specs from edoc comments and feed them automatically to dialyzer, you
probably would not want to use these @specs because quite many of them
have suffered from code rot and are misleading or just wrong.
See also war story documented in the following paper:
http://www.it.uu.se/research/group/hipe/dialyzer/publications/wrangler.pdf
Highly recommended to anyone who wants to add proper specs to his code.
My advice: if you are about to start documenting your code using specs,
start using proper -specs and run dialyzer periodically while you do so.
Do not worry for that you may not be able to run edoc for a short while.
It's just a matter of time for Edoc to be able to also handle proper -specs.
Kostis
More information about the erlang-questions
mailing list