comp.lang.ada
 help / color / mirror / Atom feed
* RE: Omission in the Ada Standard
@ 2003-09-25 19:24 Beard, Frank Randolph CIV
  2003-09-26  0:30 ` Larry Kilgallen
  0 siblings, 1 reply; 16+ messages in thread
From: Beard, Frank Randolph CIV @ 2003-09-25 19:24 UTC (permalink / raw)
  To: comp.lang.ada

-----Original Message-----
From: Larry Kilgallen

>> Robert C. Leif writes:
>> While I was working on my latest project, the CellFuge, I was shocked
>> to learn that Jerry van Dijk's Io_Ports package that I have did not
>> compile with GNAT. I do need an up to date version. Since the Intel
>> Pentium class of processors and their clones are a very large part of
>> the software market, the possibility of port based IO should be
>> included in Ada.
>
> And what would the meaning be on some other processor for which a
> standard-compliant Ada compiler is needed ?

I guess the same as GNAT.  Over half of the GNAT source I see, that
is of interest to me, won't compile on my Aonix compiler because of
some GNAT.Some_Package reference.  I have to go in and surgically
modify the code. Portability ends up moving from the language
to the tool.  So, "my GNAT code is portable so long as GNAT has been
ported to the new platform".  This has been an issue for a while and
no one seems to be too concerned.

Granted, in some cases I can pick up that particular GNAT source easily
enough and add it to my project.  But, other times, the GNAT.Some_Package
is so entangled in the rest of GNAT that it becomes a monumental task.  

So, why is adding it to the standard that big of a concern?
Just handle it the same way as Ada.Command_Line.  If it's supported,
great.  If not, don't use it.  And if someone does try to use it,
raise an exception.  

Frank



^ permalink raw reply	[flat|nested] 16+ messages in thread
* Omission in the Ada Standard
@ 2003-09-25 18:57 Robert C. Leif
  0 siblings, 0 replies; 16+ messages in thread
From: Robert C. Leif @ 2003-09-25 18:57 UTC (permalink / raw)


This should be Re: Omission in the Ada Standard. However, neither the
original nor Mr. Kilgallen's reply have appeared on the Google news
reader, which will not transmit with the Re:

Larry Kilgallen stated, "And what would the meaning be on some other
processor for which a standard-compliant Ada compiler is needed?"

If a CPU does NOT have ports, the part(s) of the compiler specific for
ports do not have to be implemented.

Bob Leif
Robert C. Leif, Ph.D.
rleif@rleif.com
www.newportinstruments.com



^ permalink raw reply	[flat|nested] 16+ messages in thread
* Omission in the Ada Standard
@ 2003-09-25 15:05 Robert C. Leif
  2003-09-25 17:12 ` Larry Kilgallen
  2003-09-26  1:51 ` Jeff C,
  0 siblings, 2 replies; 16+ messages in thread
From: Robert C. Leif @ 2003-09-25 15:05 UTC (permalink / raw)


While I was working on my latest project, the CellFuge, I was shocked
to learn that Jerry van Dijk's Io_Ports package that I have did not
compile with GNAT. I do need an up to date version. Since the Intel
Pentium class of processors and their clones are a very large part of
the software market, the possibility of port based IO should be
included in Ada.  I would suggest a child library of Package System.
Something like the source text below. The with System and use System
were included to permit compilation.
with System;
use System;
package System.Ports is
   type Port is new Address; 
   Null_Port : constant Port := Port (Null_Address);  
   Port_Unit : constant      := Storage_Unit;  

   -- Address Comparison: 
   function "<" (
         Left,        
         Right : Port ) 
     return Boolean; 
   function "<=" (
         Left,        
         Right : Port ) 
     return Boolean; 
   function ">" (
         Left,        
         Right : Port ) 
     return Boolean; 
   function ">=" (
         Left,        
         Right : Port ) 
     return Boolean; 
   function "=" (
         Left,        
         Right : Port ) 
     return Boolean; 
   -- function "/=" (Left, Right : Port) return Boolean; 
   -- "/=" is implicitly defined 
end System.Ports;
This would be followed by variants of the other System child
libraries. One way to do this is to create a generic package that
could be instantiated into both System and Ports.
Bob
Robert C. Leif, Ph.D.
Email rleif@rleif.com



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2003-10-10  2:07 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-25 19:24 Omission in the Ada Standard Beard, Frank Randolph CIV
2003-09-26  0:30 ` Larry Kilgallen
2003-09-26 16:10   ` Robert C. Leif
2003-09-26 17:38     ` Jeff C,
2003-09-28 21:43       ` Keith Thompson
2003-10-09 16:56         ` Jerry Petrey
2003-10-10  2:07           ` Jeff C,
2003-09-26 18:04     ` Jeff C,
  -- strict thread matches above, loose matches on Subject: below --
2003-09-25 18:57 Robert C. Leif
2003-09-25 15:05 Robert C. Leif
2003-09-25 17:12 ` Larry Kilgallen
2003-09-25 19:47   ` Simon Wright
2003-09-26  1:51 ` Jeff C,
2003-09-26  2:02   ` Larry Kilgallen
2003-09-26 13:05   ` Vinzent 'Gadget' Hoefler
2003-10-06  3:50   ` Dave Thompson

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