goldfirere / units-defs

Public repo for the units-defs package of well-typed unit definitions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

American or British?

goldfirere opened this issue · comments

The BIPM website (the official source of info on the SI system) uses British spellings ("metre", "litre", "tonne"). Should we?

Currently, all units are in American spelling, as I'm American. But, considering we are attempting to be following a standard, perhaps that's wrong. Here are a few alternatives:

  1. Do nothing -- keep American spellings.
  2. Switch over to the perhaps-more-standard British spellings.
  3. Export both, through the use of type synonyms and pattern synonyms.
  4. Define both internally, but have user-facing modules exporting either the American subset or the British subset. (Like Data.Metrology.SI.US and Data.Metrology.SI.UK.)

I probably favor option (1), but it's a very narrow preference. I'd love to hear others' opinions.

Note: I hope no one is offended that I call "metre" a British spelling (as opposed to Australian, South African, Indian, Canadian, etc.) I recognize that America is the outlier here, but I don't know another proper term for non-American spellings.

In my opinion, we pay effort to following the standard, for greater goal of minimizing the confusion, or maximize the number of confusion-free users.

In the case of technical terms such as dimension, unit, quantity, value, I think it's a good idea to consistently follow the standard. Otherwise, if we were to call something a dimension what others might call quantity, or vice versa, will lead to confusion. Therefore we need a agreement. The standard document is an ideal choice of such agreement.

On the other hand, in case of American and British spelling, my opinion is that this time following the standard will not work in the direction of help user from confusion. My intuition is based on British English v.s. American English popularity. For example I read the native speaker population ratio http://en.wikipedia.org/wiki/English_language and worldwide influence http://www15.uta.fi/FAST/US1/REF/usgbintr.html .

Based on these resources, I think that most non-expert users will type "Meter" rather than "Metre" firrst, if asked for SI base units of Length.

We can have type synonyms, but we at least need to choose one data constructor, don't we?

So, my opinion is that we use American English for data constructors and provide British English synonyms as alternative.

p.s. We can argue that French is even more orthodox than British English.

We can use the new pattern synonyms feature to create term-level capitalized synonyms. I think (perhaps modulo what extensions users need to enable) we can make this fairly transparent if we want to export both.

I like the synonyms solution and as a fellow American I would toss my hat lazily to the side of keeping it as it is.