Re: Go for ultimate localization!

From: Pierre Weis (
Date: Thu Oct 28 1999 - 19:04:14 MET DST

From: Pierre Weis <>
Message-Id: <>
Subject: Re: Go for ultimate localization!
To: (Benoit Deboursetty)
Date: Thu, 28 Oct 1999 19:04:14 +0200 (MET DST)
In-Reply-To: <> from "Benoit Deboursetty" at Oct 26, 99 06:36:58 am

> Present situation: O'CaML allows Latin1 in identifiers, but keywords are
> still in English -> one's code is made of intermingled languages

Yes, and this can even be a convenient way of distinguishing between
pure syntactical markers (let, try, with) of the language, and
semantically relevant names, for instance

let élimine_accents s =

In this respect, when teaching Caml to beginners this is now some kind
of advantage not to be an english native speaker!

Concerning strange kinds of natural language syntax, or kind of
syntaxes that would not be suitable to Caml, I think the discussion is
endless and running to a dead-end anyway. Just consider chinese
instead of japanese as an example: there is no alphabet at all (so no
idea of dividing words into a small fixed set of characters), and
traditional writing is to draw vertical lines that goes from right to
left. Now consider another language of the Caml kind (semi-rigourously
defined, semi-universal (:) that you definitively want to use as a
chinese human being: the language of mathematics. What can you do ?
Would you still use chinese traditional digits (one is denoted as -,
two as =, ...) or adopt ``long noses''' strange notations (0, 1, 2,
3, ...) ? Would you adapt the whole set of well designed mathematical
notations just to be able to write vertically and from the right to
the left ? Surely no. You would use instead a simpler solution: you
would adapt *yourself* not the established notations! That's why
chinese people use the same well-known notations as everybody in the
world, just because they want to understand others and also to be
understood by others (otherwise foreign people could be a bit confused
with the strange use of - as 1 or = as 2!). For computer languages, I
think it is the same, you must use the keywords unchanged just because
in the first place, you must communicate with some machine and its
hardware, and also you want to communicate your programs to others.

If you want hard to communicate about your program you may go one step
further and use english identifiers, or two steps further and use
english comments as well.

> Another example, more concrete. There is no simple translation in
> French for the expression "to match some constant against a
> pattern".

Yes there is one: filtrer. (Pattern: filtre (qq fois motif, plus
rarement patron); pattern matching: filtrage (qq fois sélection de
motifs, plus rarement appel par patron)). You may read the french
version of the Caml FAQ, or a good french book about the language.

> Instead of saying "matcher" (which is what we do), we should better try
> and find a better word. But even if a good word had been invented, it
> would never be used in practice, I mean in the code of programs, and we
> would still use "matcher" (erk).

We don't say ``matcher'', except as a kind of jargon, a funny verb
that we use when using a low level of language not very far from
slang. We often use the good word ``in practice''. For instance, we

Appel direct au filtrage: la construction ``match ... with''

To mean the english section title

Direct call to pattern matching: the ``match ... with'' construct.

Best regards && Cordialement (mais pas ``meilleurs regards'' !)

Pierre Weis

INRIA, Projet Cristal,,

This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:28 MET