10.07.2015 Views

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

Algol 68 - ACM Digital Library

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

40 van Wijngaarden, et aLb) An arithmetic value has a "size", i.e., an integer characterizing thedegree of discrimination with which it is kept in the computer.c) The mode of an integer or of a real number of size n is,respectively, some 'SIZET¥ integral' or 'SIZETY real' where, if n ispositive (zero, negative), that 'SIZET¥' is n times 'long' (is empty, is -ntimes "short').d) The number of integers or of real numbers of a given size that canbe distinguished increases (decreases) with that size until a certain size isreached, viz., the "number of extra lengths" (minus the "number of extrashorths") of integers or of real numbers, respectively, {10.2.l.a,b,d,e} afterwhich it is constant.{Taking Three as the subject to reasonabout-A convenient number to state- }e) For the purpose of explaining the meaning of the widening coercionand of the operators declared in the standard-prelude, the followingproperties of arithmetic values are assumed:• for each pair of integers or of real numbers of the same size, therelationship "to be smaller than" is defined with its usual mathematicalmeaning {10.2.3.3.a, 10.2.3.4.a};• for each pair of integers of the same size, a third distinguishableinteger of that size may exist, the first integer "minus" the other{10.2.3.3.g};{We add Seven, and Ten, and then multiplyoutBy One Thousand diminished by Eight. }• for each pair of real numbers of the same size, three distinguishablereal numbers of that size may exist, the first real number "minus"("times", "divided by") the other one {10.2.3.4.g,l,m};• in the foregoing, the terms "minus", "times" and "divided by" havetheir usual mathematical meaning but, in the case of real numbers,their results are obtained "in the sense of numerical analysis", i.e., byperforming those operations on numbers which may deviate slightlyfrom the given ones {; this deviation is left undefined in this Report}:{The result we proceed to divide, as yousee,By Ni'ne Hundred and Ninety and Two }• each integer of a given size is "widenable to" a real number close toit and of that same size {6.5};• each integer (real number) of a given size can be "lengthened to" aninteger (real number) close to it whose size is greater by one{10.2.3.3.q, 10.2.3.4.n}.f)ALGOL <strong>68</strong> Revised ReportA "truth value" is either "true" or "false". Its mode is "boolean'.{Then subtract Seventeen, and the answermust beExactly and perfectly true.The Hunting of the Snark, Lewis Carroll.}g) Each "character" is "equivalent" to a nonnegative integer of sizezero, its "integral equivalent" {10.2.1.n}: this relationship is defined only tothe extent that different characters have different integral equivalents,and that there exists a "largest integral equivalent" {10.2.1.p}. The mode ofa character is "character'.h) The only "void value" is "empty". Its mode is 'void'.{The elaboration of a construct yields a void value when no more usefulresult is needed. Since the syntax does not provide for void-variables, voididentity-declarationsor void-parameters, the programmer cannot makeuse of void values, except those arising from uniting (6.4).}i) The scope of a plain value is the scope of the primal environ{2.2.2.a}.2.1.3.2. Names{What's in a name? that which we call aroseBy any other name would smell as sweet.Romeo and Juliet, William Shakespeare.}a) A "name" is a value which can be "made to refer to" {d, 5.2.3.2.a,5.2.1.2.b} some other value, or which can be "nil" {and then refers to novalue}; moreover, for each mode beginning with 'reference to', there isexactly one nil name of that mode.A name may be "newly created" {by the elaboration of a generator(5.2.3.2) or a rowed-to-FORM (6.6.2), when a stowed name is endowed withsubnames (2.1.3.3.e, 2.1.3.4.g) and, possibly, when a name is "generated"(2.1.3.4.j, l)}. The name so created is different from all names already inexistence.{A name may be thought of as the address of the storage cell or cells,in the computer, used to contain the value referred to. The creation of aname implies the reservation of storage space to hold that value.}b) The mode of a name N is some 'reference to MODE" and any valuewhich is referred to by N must be "acceptable to" {2.1.3.6.d} that "MOI)E'.If 'MODE' is some 'STOWED', then N is said to be a "stowed name".c) The scope of a name is the scope of some specific environ {usuallythe "local environ" (5.2.3.2.b) of some generator}. The scope of a namewhich is nil is the scope of the primal environ {2.2.2.a}.41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!