next up previous contents index
Next: What is the Place Up: Design Considerations for Kimwitu Previous: Why a Type per

What is in a Name?

How are the various objects generated by the system named? The problem is that for each input name (e.g. of a phylum or operator) a number of identifiers in the output are generated (e.g. for an operator a name is generated to distinguish it from other operators, and a name for creating a term with that operator etc.). The basic idea is that related concepts have related names. In natural languages a comparable situation exists. For example, in English the words norm, normal, normalcy, normality, normalization, normalize, normalized, normalizes, normalizeth, normalizing, normally, and normalness, denote different but related forms of one word. These other words are called inflections, and are constructed, in most western languages, by changing suffixes. In other languages, e.g. Swahili , prefix changing is also used. In Swahili, the word witu means tree, its plural, meaning forest or jungle, is mwitu . The prefix ki- indicates a likeness of being, so that the name of our system reads as tree-s-ish. (This may not sound like English to you. Well, Swahili speakers don't count Kimwitu as a legal word either...)

The same scheme is employed in programming languages. For example, in Algol-68 and C, `proc()' denotes the result of calling a parameterless function and `proc' denotes the function itself. An example from the term processor: the function to rewrite a phylum foo is called rewrite_foo.


next up previous contents index
Next: What is the Place Up: Design Considerations for Kimwitu Previous: Why a Type per

2000-04-17