[erlang-questions] A proposal for Unicode variable and atom names in Erlang.

Richard O'Keefe <>
Fri Oct 26 04:51:29 CEST 2012

On 22/10/2012, at 10:24 PM, HH Veldstra wrote:

> +1. Outwith very specific circumstances allowing non-English code is
> dumb if for no other reason that it will drastically reduce the pool
> of programmers that can be hired to work on your system.

I am truly impressed by the number of omniscient people interested in
Erlang.  Are there no projects where _enough_ programmers are hired,
so that nobody _cares_ whether you can hire more foreign programmers
or not?  Are there no projects where the programmers have to understand
the requirements as well as the code, and the requirements are not in

Plenty of other programming languages already allow this (SWI Prolog,
for one).  The sky has _not_ fallen.  People outside North America
have proven to be adults capable of making their own decisions about
when to use English and when not to.

It's only a couple of days since I was marking an exam in which a
dismaying proportion of 3rd year students, the majority allegedly
native speakers of English, answered "how did you determine whether"
as if it meant "how did you ensure that", so if they don't understand
a program because the variable names are in Russian, that may be
better than them _thinking_ that they understand the program but
don't because it's all in English.

Note that RIGHT NOW programmers can use accented letters in Erlang
atoms and variables.  RIGHT NOW programmers can write in lots of
languages other than English.  They can only use the Latin *script*
(or rather, a subset of it), but they can use quite a lot of
*languages*.  The "allowing non-English code" genie is already out
of the bottle; that horse has already bolted; you are crying about
keeping the lid on milk that's already spilled all over the floor;
<insert proverb about futility here>.  Latin 1 covers at least the
following languages:

	French (fr), Spanish (es), Catalan (ca), Basque (eu),
	Portuguese (pt), Italian (it), Albanian (sq),
	Rhaeto-Romanic (rm), Dutch (nl), German (de), Danish (da),
	Swedish (sv), Norwegian (no), Finnish (fi), Faroese (fo),
	Icelandic (is), Irish (ga), Scottish (gd), and English (en),
	Afrikaans (af) and Swahili (sw).  I'm pretty sure you can
	add Frisian (fy).  You can definitely add Malay (ms),
	Indonesian (id), Tok Pisin (tpi), and Pijin (cpe).

By what feat of straining do people accept the possibility of
Malay in Erlang atoms and variable names but reject the possibility
of Māori?  Accept Italian but reject Latin?

> And regardless of where one falls on this issue, shouldn't it be
> rather low on the priority list anyway?

Who said it _wasn't_?

> I'm thinking way below fixing the stdlib,

proposed long ago

> or fixing records,

proposed long ago

> or perhaps improving text handling.

proposed long ago (and allowing Unicode in atoms is *part* of
improving text handling).

More information about the erlang-questions mailing list