On Sun, Sep 11, 2022 at 9:31 AM Douglas McIlroy < douglas.mcilroy@dartmouth.edu> wrote: > [Algol 68's presupposition is visible in declarations like "long long > long ... int". An implementation need support only a limited number of > "longs", To clarify things for A68 n00bs, you can *write* an indefinite number of "longs", but after an implementation-defined point they don't add any further range (and/or precision in the case of floats). This is true in a truncated way in C as well, where "long" (which is the same as "long int") may be the same as "int". > but each supported variety must have a definite maximum > value, which is returned by an "environment enquiry" function. For > amusement, consider the natural idea of implementing the longest > variety with bignums.] > In actual bignum implementations, there is a biggest bignum, but it may not be possible to actually construct it. In GMP using 64-bit digits, it is theoretically 2^((2^31 - 1) * (2^64 - 1)), or 2^39,614,081,238,685,424,720,914,939,905, which is Very Big Indeed. But there is nothing preventing an implementer from watching intermediate results and throwing an exception if they get too big.