comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: unsigned type
Date: Mon, 29 Jun 2009 20:02:50 GMT
Date: 2009-06-29T20:02:50+00:00	[thread overview]
Message-ID: <K592m.407842$4m1.248858@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 4a48968a$0$31863$9b4e6d93@newsspool3.arcor-online.net

        As for confusing when the index type is defined as Positive, but the 
compiler and runtime system allows zero.  That's either a compiler Bug or a 
total lack of reading the RM definition of the terms Natural and Positive types 
for Adacore and the GNU GCC Ada maintainers.


        About types and standards. GNU GCC does not work for 16 bit machines 
unless you can find a code developed back in the 1980s. But 8 and 16 bit 
machine are still being use today in special purpose designs. So, code that can 
be develope for those machine are still needed. 

        But using Unsigned_8, Unsigned_16, Unsigned_32 and Unsigned_64 
which are define in the INTERFACE package are true standard because 
Unsigned_8, Unsigned_16, Unsigned_32 and Unsigned_64 do not change rather 
you are using a 8 bit machine or a 64 bit machine or anything in between.

	And Unsigned type is what the person ask about in the first place.

	Always use standards, its is a common ground that allow 
programmers a starting place to understand your code.


In <4a48968a$0$31863$9b4e6d93@newsspool3.arcor-online.net>, Georg Bauhaus <rm.dash-bauhaus@futureapps.de> writes:
>anon schrieb:
>> For Strings:
>>                           --  'A' is a zero length string, A'Last = 0, and
>>                           --  put_line  ( A ( A'First .. A'Last ) ) ;
>>                           --  does not raise an Constraint_Error even though in  
>>                           --  this case it translate to:
>>                           --  put_line  ( A ( 0 .. 0 ) ) ; 
>>   A : String := ""        ; 
>> 
>> Since you can have zero length string , the index is Natual instead of Positive, 
>> because zero is in Natural but is not define in Positive. Even though the 
>> Standard package define String index as a Positive type. (GNAT)
>
>(It is slightly confusing, I think, to say that in a
>definition like
>
>   type String is array (Positive range <>) of Character;
>
>the index type is Natural. It's not Natural in the Ada sense;
>that fact that many String related subprograms use the Natural
>subtype emphasizes the presence of Natural in String handling,
>but does not turn subtype Positive into index type Natural,
>does it?)
>
>> Always use standards, those who do not are the one making the mistakes 
>> that others must correct to make the program portable during updating. 
>
>How is it possible for _any_ implementation defined type
>to be portable just because the standard says it is
>implementation defined? (Like Standard.Integer?)
>
>For example, the GNU Ada Database Environment uses a 64 bit
>type available with GNAT.  This type may well be impossible when
>using other compilers.
>
>   type SQLBIGINT    is range -(2 ** 63) .. +(2 ** 63) - 1;
>   for SQLBIGINT'Size use 64;
>
>How will a subtype of Long_Long_Integer be different?
>Long_Long_Integer may not be provided at all. Or it
>does not have 64 bits.  I don't see how to gain anything
>with subtyping or deriving from the predefined integer
>types in cases such as this one.
>
>Using a subtype, there is more opportunity for
>shooting yourself in the foot when you use them
>where you should have been using database integers.
>A more striking example has been outlined by Tom Moran.
>
>Any Ada compiler can immediately decide whether or not this
>library unit can be translated (ported) when it sees SQLBIGINT.
>Seems perfectly clear, uses standard conforming type definitions,
>and explicitly stating what is needed.  Wouldn't this be much
>more implicit and more diffuse if the developers had tried to
>force database integers to be standard integers?




  reply	other threads:[~2009-06-29 20:02 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-28 15:36 unsigned type Rob Solomon
2009-06-28 15:45 ` Florian Weimer
2009-06-28 15:48 ` Albrecht Käfer
2009-06-28 17:56 ` anon
2009-06-28 19:17   ` Ludovic Brenta
2009-06-28 23:08     ` anon
2009-06-29  0:19       ` tmoran
2009-06-29  8:00         ` anon
2009-06-29  9:56           ` Jean-Pierre Rosen
2009-06-29 10:21             ` Ludovic Brenta
2009-06-29 11:23               ` sjw
2009-06-29 12:07                 ` Jean-Pierre Rosen
2009-06-29 20:06                 ` anon
2009-06-29 19:31               ` anon
2009-06-29 21:49                 ` Georg Bauhaus
     [not found]                 ` <zuKdneNYxfFNLNTXnZ2dnUVZ_t2dnZ2d@earthlink.com>
2009-06-30 11:29                   ` anon
2009-06-30 12:19                     ` Ludovic Brenta
2009-06-29 20:19             ` anon
2009-06-29 20:41               ` Ludovic Brenta
2009-06-29 22:15               ` Georg Bauhaus
2009-06-29 23:08               ` Adam Beneschan
2009-06-29 23:11               ` Adam Beneschan
2009-06-30 12:39               ` Martin
2009-06-29 10:25           ` Georg Bauhaus
2009-06-29 20:02             ` anon [this message]
2009-06-29 22:08               ` Georg Bauhaus
2009-06-30 23:01                 ` Randy Brukardt
2009-06-30 13:46               ` Jean-Pierre Rosen
2009-06-30 15:22                 ` Adam Beneschan
2009-06-30 15:59                   ` Albrecht Käfer
2009-06-30 16:59                     ` Adam Beneschan
2009-06-30 17:44                       ` Albrecht Käfer
2009-06-30 18:13                         ` Robert A Duff
2009-06-30 18:16                           ` Albrecht Käfer
2009-06-30 23:48                       ` anon
2009-07-01  1:39                         ` Adam Beneschan
2009-07-02 19:04                           ` anon
2009-07-02 19:49                           ` anon
2009-07-02 21:37                             ` Adam Beneschan
2009-07-03  1:42                             ` anon
2009-07-03  2:10                               ` Adam Beneschan
2009-07-03  7:07                             ` Jean-Pierre Rosen
2009-07-03 20:53                               ` anon
2009-07-03 21:24                                 ` Georg Bauhaus
2009-07-04  9:09                                   ` anon
2009-07-04 13:43                                     ` Georg Bauhaus
2009-07-06  9:04                                     ` AdaMagica
2009-07-03 21:46                                 ` Adam Beneschan
2009-07-04 12:39                                   ` Martin
2009-07-01  8:09                   ` Jean-Pierre Rosen
2009-07-01 15:08                     ` Albrecht Käfer
2009-07-11 14:40           ` Hibou57 (Yannick Duchêne)
2009-07-11 17:18             ` sjw
2009-07-11 18:15               ` Hibou57 (Yannick Duchêne)
2009-07-11 20:20             ` anon
2009-07-12 17:57               ` Samuel Tardieu
2009-07-12 18:24                 ` AdaMagica
2009-07-13 22:03                 ` anon
2009-07-14  7:58                   ` Martin
2009-07-16 13:54                     ` anon
2009-07-16 14:41                       ` Martin
2009-07-16 15:12                         ` Adam Beneschan
2009-07-11 14:43           ` Hibou57 (Yannick Duchêne)
2009-07-11 15:22             ` Albrecht Käfer
2009-06-29  8:42       ` Martin
2009-06-29  8:54         ` Dmitry A. Kazakov
2009-06-29 10:10           ` Martin
2009-06-29 12:34             ` Dmitry A. Kazakov
2009-06-29 19:26             ` anon
2009-06-29 23:02               ` Martin
2009-06-29 19:47           ` anon
2009-06-30  8:31             ` Ludovic Brenta
2009-06-28 19:54   ` tmoran
2009-06-28 22:34     ` Gary Scott
2009-06-28 23:15       ` John B. Matthews
2009-06-28 23:21       ` anon
2009-06-29  7:18       ` Dmitry A. Kazakov
2009-06-29  9:52         ` Georg Bauhaus
2009-06-29 12:43           ` Dmitry A. Kazakov
2009-06-29 13:36     ` Rob Solomon
2009-06-29 14:03       ` Robert A Duff
2009-06-29 14:13       ` Georg Bauhaus
2009-06-29 14:18       ` Ludovic Brenta
2009-06-29 15:40         ` Robert A Duff
2009-07-03  1:41         ` Rob Solomon
2009-07-03  7:12           ` Learning Ada (Was: unsigned type) Jacob Sparre Andersen
2009-07-03  8:38             ` Learning Ada Peter Hermann
2009-07-03  9:44               ` Georg Bauhaus
2009-07-03 22:20             ` Learning Ada (Was: unsigned type) anon
2009-07-04 14:53               ` Georg Bauhaus
2009-07-05 23:21                 ` anon
2009-07-06  0:05                   ` Ludovic Brenta
2009-07-06  0:19                   ` Learning Ada Albrecht Käfer
2009-07-06  2:50                     ` anon
2009-07-06  6:18                       ` AdaMagica
2009-07-06  7:47                         ` Jean-Pierre Rosen
2009-07-06 20:21                         ` anon
2009-07-06 21:08                           ` Georg Bauhaus
2009-07-06 22:43                           ` Frank J. Lhota
2009-07-09 22:28                             ` anon
2009-07-10  6:23                               ` AdaMagica
2009-07-06 10:53                   ` Learning Ada (Was: unsigned type) Georg Bauhaus
2009-07-06 19:34                     ` anon
2009-07-06 20:29                       ` Learning Ada Albrecht Käfer
2009-07-06 21:04                       ` Learning Ada (Was: unsigned type) Georg Bauhaus
2009-07-07 19:25                       ` sjw
2009-07-06 23:15                   ` Randy Brukardt
2009-07-07 15:29                     ` Adam Beneschan
2009-07-09  0:15                       ` Randy Brukardt
2009-07-09 15:26                         ` Adam Beneschan
2009-06-29 15:37       ` unsigned type Adam Beneschan
2009-07-06 20:20       ` Dave
2009-06-29 16:51 ` Martin Krischik
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox