Improper lists [was: Dialyzer v1.3.0 released]

James Hague <>
Tue Mar 29 16:27:29 CEST 2005


Matthias Lang wrote:
> 
> It's possible to see it the other way around. Cons cells are
> universal.

True.  But the way I see it, the fundamental difference is that lists
are designed to contain an arbitrary number of values, whereas tuples
contain a fixed number.  If I see {10, 3}, then I know that those are
a pair of values with some meaning.  If I see [10, 3], however, then I
don't know if that's a pair or two separate values or what.  Tuples
make data be atomic.

Separating the two also makes output unambiguous:

{1,2} displays as {1,2}
[1|2] displays as [1|2]

but

{1,[2,3]} displays as {1,[2,3]}
[1|[2,3]] displays as [1,2,3]

James



More information about the erlang-questions mailing list