Names are either the names of concrete algorithms, which means that they are predefined in the Elan Interpreter, or they are introduced by the programmer by the definition of abstract algorithms using refinements. Here we explain their formation rules.
Names for abstract algorithms can be freely invented. Such a name has the form of an <#1449#>identifier<#1449#>, consisting of a leading (lower case) letter, followed by letters, digits, and possibly embedded spaces. The latter serve to enhance the readability of programs. In contrast to full Elan, such spaces in Elan-0 are considered significant and are part of the name. Some examples:
Names shall be chosen such that they express concisely <#1452#>what<#1452#>
is done by an algorithm, not
spelling out in detail <#1453#>how<#1453#> it is performed. Inventing suitable
names is a non-trivial task and needs experience which can be
gained only by the study of good examples, exercises, and by
the contemplation of programming problems.