[erlang-questions] edoc, erlc and dialyser type spec consistency

Joe Armstrong erlang@REDACTED
Thu Nov 19 13:53:34 CET 2009


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?


/Joe


>
> /Kenneth Erlang/OTP Ericsson
>
>> My suggestion:
>>
>>    a) There should be ONE type/spec parser as part of the OTP distribution
>>       everybody should use this one and not their own
>>
>>    b) Specs and types must finish with DOT WHITESPACE.
>>
>>    c) Quoting atoms in type specs is illegal.
>>
>>    d) Function names are required (ie not optional as in edoc)
>>
>>    e) Short form of type names are legal
>>       bool(), int().
>>
>> There rules obey certain meta principles:
>>
>>    meta principle 1) "don't wear your fingers out"
>>
>>   - I want to type
>>
>>        foo(X::bool()) -> ok.
>>
>>    and not
>>
>>        foo(X::boolean()) -> 'ok'
>>
>>    meta principle 2) "optional is bad"
>>
>>        ie DOT whitespace is not optional - dropping the function
>>        symbol and inferring it from the next function is bad.
>>
>>        (aside: the optional ';' in Javascript totally screwed up
>>                the parser and is responsible for lager numbers
>>                or really weird errors)
>>
>>    meta principle 3) "make type specs etc look like Erlang"
>>
>>    Similar syntax if possible, similar conventions. The sudden appearance
>>    of quotes, optional '.' violates the principle of least astonishment.
>>
>>
>> /Joe
>>
>> ________________________________________________________________
>> erlang-questions mailing list. See http://www.erlang.org/faq.html
>> erlang-questions (at) erlang.org
>>
>>
>


More information about the erlang-questions mailing list