[erlang-questions] dialyzer and re(3)
Paul Guyot
pguyot@REDACTED
Thu Nov 13 08:04:47 CET 2008
Le 11 nov. 08 à 17:34, Kostis Sagonas a écrit :
>>> While we appreciate dialyzer very much and we rely on it,
>>> we are somewhat disappointed by its current limitations
>
> Can you please be a bit more specific about "its current
> limitations" ?
> (perhaps even off the list if you think that's more appropriate).
All limitations we noticed were mentioned here. For example, there is
the lack of support for recursive types, or the contract induction
that is sometimes too liberal. But we gave up on recursive types and
being too liberal just means that dialyzer might miss bugs, which it
always will anyway.
Like many other erlang users, we wish there was a generalized support
for types in stdlib, with a merge of edoc and -spec syntaxes, which is
planned for R13 I read. A generalized support for parametrized types
would also improve dialyzers' scope. For example a gb_sets where all
elements are of a single type X would allow dialyzer to check
operations such as gb_sets:add_element/2. We'd also love an extended
support for apply/2 and apply/3 (which is more tricky) and for
behaviour callbacks. For example, we implemented a parse_transform
that checks at compile time that gen_server:call and cast calls match
the handle_call and handle_cast callbacks, but this typically could be
checked by dialyzer.
Paul
More information about the erlang-questions
mailing list