[erlang-questions] encapsulating types and dialyzer
Anthony Shipman
als@REDACTED
Fri Sep 12 18:08:04 CEST 2008
On Fri, 12 Sep 2008 05:13:45 pm Tobias Lindahl wrote:
> > PS. I should point out that the language of types and -spec declarations
> > is currently an EEP. Officially, it is not part of Erlang yet.
Why do some of the types in the Erlang source have extra parentheses around
them?
-type(digraph() :: any()).
Is there any use for this or is it just an ornament?
>
> As Kostis points out, you are allowed to declare these remote types, but
> currently they are not used. Of course, this will change in the future.
>
> Tobias
What could be useful to include is a "new type" feature like in Ada or
Haskell. E.g.
-type new length() :: float().
-type new area() :: float().
Then although they are both implemented as floats you can't pass one as
another without an error or warning.
The change to the type checking algorithm might be quite small. When comparing
two types, if they are both new then the names must match as well as the
structure, otherwise only do structural matching.
--
Anthony Shipman Mamas don't let your babies
als@REDACTED grow up to be outsourced.
More information about the erlang-questions
mailing list