[erlang-questions] encapsulating types and dialyzer

Richard A. O'Keefe <>
Tue Sep 16 02:19:59 CEST 2008

On 15 Sep 2008, at 7:26 pm, Tobias Lindahl wrote:
> This used to be the only way to declare them. The declaration without
> parenthesis is brand new.

English spelling follows Greek here:
one parenthesIs, two parenthesEs
one crisIs,      two crisEs
one arsIs,       two arsEs (arsis = ictus)

> We are looking at having opaque types that are not allowed to be
> inspected which would be more close to what you seem to expect from  
> the
> type declarations, but the nature of Erlang (dynamic typing, hot code
> loading, etc) makes it hard to do proper type checking without  
> changing
> the language quite extensively. Instead, we have chosen to loosen up  
> the
> type inference/checking quite a bit to better suit Erlang's  
> programming
> idiom.

Of course, nothing stops someone defining a strongly typed language
that (after type checking) is mapped down to Erlang.  That might be an
interesting project for someone.  It's easy to see that the process
dictionary should probably be treated the way mutable variables are in
SML, but since processes can simulate variables, that raises questions
about polymorphism and message passing.

More information about the erlang-questions mailing list