From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: 64-bit unsigned integer? Date: Thu, 1 Mar 2018 20:59:04 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <421d1598-68d7-4d0b-b596-6e9c59cf865c@googlegroups.com> <877eqxe7u8.fsf@nightsong.com> <87muzsz6s2.fsf@nightsong.com> <628c3bba-6c0d-495b-be2f-e6ed3ef3418f@googlegroups.com> <40f38dfc-d456-4c7c-a65b-8990483af0a3@googlegroups.com> NNTP-Posting-Host: yZRtMzZmKCYxZ5GHo5ZYiA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 X-Notice: Filtered by postfilter v. 0.8.3 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:50765 Date: 2018-03-01T20:59:04+01:00 List-Id: On 2018-03-01 20:22, Dan'l Miller wrote: > Dmitry Kazakov wrote: >> Because a bounded-length number object will have the worst case length, always. > > Why would they be allocated as the humanly-imaginable worst-case for usage of the library? Because the upper bound is exactly that, the humanly-imaginable worst case. > Bounded textual strings are not allocated as the maximum universally-conceivable textual string length of megabytes long. Bounded simply means: pick a modest upper bound and stick to it, say, 128-bit integer for bounded bignum or 32-character string for bounded textual string. Why 128 and not 256 or 1056781? And note that all this a bit pointless in the discussion context, which was about overflow checks. When the upper bound is known, then checks are superfluous. Otherwise, there is no need to carry many digits because you expect overflows occasionally. So I prefer SPARK to guarantee absence of overflows and a more reasonable support of modestly big ranges. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de