next up previous contents
Next: Built-in Types Up: The Appendices Previous: Installation Instructions

   
Naming Conventions

The following is a preliminary document sketching a Darwin naming convention. We can group the different Darwin constructs into five categories:
1.
built-in types
2.
structured types
3.
commands
4.
built-in functions
5.
library functions
We give a short but (hopefully) reasonably precise set of rules for naming types, structures, routines etc. for each of these categories.

English dictionaries provide the legal hyphenation pattern for a word, eg.

\begin{displaymath}ap \cdot prox \cdot i \cdot mate \end{displaymath}

usually in bold face. This does not necessarily correspond to the syllables of the word (these are typically given in the international pronunciation) [].

We will use the syllables of a word to create abbreviations for names which are too long in Darwin. The convention is as follows:



$\star$ When names are abbreviated in Darwin, we use the first syllable of a word according to the Oxford English dictionary. If this abbreviation is either (1) too short for uniqueness, (2) unaesthetic or (3) extremely unprouncable, the second syllable of the word is added. Subsequent syllables are added until problems (1) - (3) disappear.

There are small number of computer and biologic abbreviations common to both literatures. These abbreviations do not follow the $\star$principle above but may be used throughout the system and the onus lies on the user's shoulders to identify their meanings. In general, this list should be kept as small as possible. There is a delicate balance between the advantages of having short names in the system and the disadvantages of having too many abbreviations. These lists should be made available to the user through on-line help. In Darwin, they will be made available as follows:

> ? abbreviations;
> help abbreviations;
> ? abbr;

Where possible, both the abbreviated form and the full length version should be recognized by the system. For example, suppose we have the function LoadDB (load a database file). The synonym LoadDatabase should also be recognized.

We give these lists here:

Computer Science:
DB for database, eval for evaluated, IPC for Inter Processor Communication,
$\ldots$

Biology:
DNA for deoxyribonucleic acid, RNA for ribonucleicacid, Nuc for Nucleid acid (either DNA or RNA), AA for amino acid, PAM or Pam for point accepted mutation,
$\ldots$



 
next up previous contents
Next: Built-in Types Up: The Appendices Previous: Installation Instructions
Gaston Gonnet
1998-09-15