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

Richard O'Keefe <>
Thu Oct 25 05:17:59 CEST 2012

On 23/10/2012, at 2:03 PM, Toby Thain wrote:

> On 22/10/12 1:08 AM, Yurii Rashkovskii wrote:
>> Please excuse my ignorance, but can you name a single good reason for
>> non-latin atoms and variable names?
> Not everyone uses the Roman alphabet.

And those of us who *do* use the Latin alphabet may need characters
outside the range not only of ASCII but Latin 1.

>> Isn't it a blessing that we all are using a fairly short and commonly
>> known alphabet

I already said this, but just for the benefit of certain people who may
not have been paying attention:

	I live in a country where there are two official languages.
	One is New Zealand Sign Language.
	The other is New Zealand Māori.
	Māori is written using the Roman alphabet, *with* five
	long vowels written using macrons, lower and upper case.
	As for that matter is Latin itself in some textbooks.

With me so far?  (a) You cannot write a Latin textbook using ISO Latin 1.
(b) Quite by coincidence, an official language of my country needs the
same non-Latin-1 long vowel letters that Latin does.  Next step.

	It is the explicit policy of the University that employs
	me that students *MUST* be allowed to submit written work
	in Māori.
	If I were to insist that students submit work in a programming
	language that cannot accept and correctly process these ten
	extra *latin* vowels,
	- I would have the University authorities chasing me
	- joined by the Human Rights Commissioner
	- and a host of lawyers
	and I'd probably be posting my résumé to this list shortly

This hasn't happened to anyone here yet because Java and Python and Ada
and SWI Prolog and a host of other programming languages *can* handle these
characters (whew, just in time), and if anyone made an issue of it I'd whip
up a transliteration program, or very possibly say to use Scala.

I mean, this is not a new issue.
InterLisp was handling wide characters back in the early 1980s,
and Quintus Prolog not long afterwards.
Guess what?  The sky has _not_ fallen!

> > From my personal point of view, this
>> is a sure road to hell.
> Now imagine positions reversed with someone else.
>> How would you read these pieces of code:
>> Довж1 = length(Сп1)
>> [Г|Х]

Reading the _letters_ is no great problem; reading
the _words_ leaves me scratching my head, but
we have the same problem *without* leaving Latin 1:

Tá_Ag_Gach_Duine = amadán

Sad to say, I can only read that with a dictionary.
(Well, I know 'amadán', because it crossed over into English.)

More information about the erlang-questions mailing list