[erlang-questions] dialyzer and re(3)
Fri Nov 14 11:24:55 CET 2008
Paul Guyot wrote:
> 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.
These are all very good suggestions/wishes and most of them(*) are also
on our TODO list. Let's see when we'll get to them...
However, a nice property of open source projects is that they offer the
opportunity for users to contribute. Dialyzer is no exception in this
(*) with the exception of apply.
More information about the erlang-questions