scala (was RE: checksum for distributed debugging?)

Bob.Smart <>
Mon Dec 5 18:17:37 CET 2005


The problem with Scala is that it doesn't have atoms.

Once upon a time there was a language called Algol 68. It lumped
variables and pointers together. Now it is true that both are
represented internally as a memory address, but the semantics are
completely different. A 'var int' should coerce to 'int' and a 'ptr int'
shouldn't. Lumping the two together into 'ref int' was amazingly
damaging.

Similarly, lumping strings (external communication type) and atoms
(internal identifying type) together is much more damaging than one
initially expects. Actually in practice, programmers of languages
without atoms use small ints for internal identification instead, and
some languages formalize that with enum types: This also works badly in
practice, particularly in distributed systems.

Bob



More information about the erlang-questions mailing list