comp.lang.ada
 help / color / mirror / Atom feed
* Ada 95 Low_Level_IO package
@ 1997-09-11  0:00 John Cupak {73739}
  1997-09-12  0:00 ` Robert A Duff
  1997-09-13  0:00 ` Jerry van Dijk
  0 siblings, 2 replies; 8+ messages in thread
From: John Cupak {73739} @ 1997-09-11  0:00 UTC (permalink / raw)



A programmer came to me asking where the Ada 95 Low_Level_IO package
was. Immagine my surprise when I couldn't find it! Gee... I *knew* it
was in Ada 83! Now, where did it go? Anybody have any ideas?

By the Way, the programmer wants to read/write data to a PC port.

Thanks!
-- 
----------------------------------------------------------------
-                   John J. Cupak Jr, CCP                      -
- Raytheon Electronic Systems: Software Engineering Laboratory -
- tel: 508-858-1222     email (work): jcj@swl.msd.ray.com      -
- fax: 508-858-4336     email (home): jcupak@aol.com           -
----------------------------------------------------------------




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

* Re: Ada 95 Low_Level_IO package
  1997-09-11  0:00 Ada 95 Low_Level_IO package John Cupak {73739}
@ 1997-09-12  0:00 ` Robert A Duff
  1997-09-13  0:00   ` Robert Dewar
  1997-09-13  0:00   ` Jerry van Dijk
  1997-09-13  0:00 ` Jerry van Dijk
  1 sibling, 2 replies; 8+ messages in thread
From: Robert A Duff @ 1997-09-12  0:00 UTC (permalink / raw)



In article <3418273B.167EB0E7@swl.msd.ray.com>,
John Cupak {73739}  <jcj@swl.msd.ray.com> wrote:
>A programmer came to me asking where the Ada 95 Low_Level_IO package
>was. Immagine my surprise when I couldn't find it! Gee... I *knew* it
>was in Ada 83! Now, where did it go? Anybody have any ideas?

Low_Level_IO existed in Ada 83, but its contents were entirely
implementation-defined -- in particular, implementations could (and did)
provide an empty package.  This seemed sort of silly, so we got rid of
it for Ada 95.  This is explained in AARM-A.6(1.c).

An implementation can provide Low_Level_IO if it wants to, or it can
provide some other package(s) that support that functionality.  The
functionality was optional in Ada 83, and it still is in Ada 95, so
there's really not much difference between the two languages, here.

>By the Way, the programmer wants to read/write data to a PC port.

Depends on the compiler and OS.

- Bob




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

* Re: Ada 95 Low_Level_IO package
  1997-09-12  0:00 ` Robert A Duff
@ 1997-09-13  0:00   ` Robert Dewar
  1997-09-13  0:00   ` Jerry van Dijk
  1 sibling, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1997-09-13  0:00 UTC (permalink / raw)



>By the Way, the programmer wants to read/write data to a PC port>>

In GNAT this can conveniently be done using machine inserts,  which will
allow you to create little read and write port abstractions.





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

* Re: Ada 95 Low_Level_IO package
  1997-09-13  0:00 ` Jerry van Dijk
  1997-09-13  0:00   ` Robert Dewar
@ 1997-09-13  0:00   ` Robert Dewar
  1 sibling, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1997-09-13  0:00 UTC (permalink / raw)



Here, for reference purposes, is the spec as defined in the Ada 83 RM

<<The  visible  part  of the package defining these procedures is outlined as
follows: 

 package LOW_LEVEL_IO is
    --  declarations of the possible types for DEVICE and DATA;
    --  declarations of overloaded procedures for these types:
    procedure SEND_CONTROL    (DEVICE : device_type; DATA : in out data_type);
    procedure RECEIVE_CONTROL (DEVICE : device_type; DATA : in out data_type);
 end;
>>





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

* Re: Ada 95 Low_Level_IO package
  1997-09-13  0:00 ` Jerry van Dijk
@ 1997-09-13  0:00   ` Robert Dewar
  1997-09-14  0:00     ` Robert A Duff
  1997-09-13  0:00   ` Robert Dewar
  1 sibling, 1 reply; 8+ messages in thread
From: Robert Dewar @ 1997-09-13  0:00 UTC (permalink / raw)



Jerry says

<<There never has been a 'Low_Level_IO' package in Ada83, this is probably
some vendor specific library. Ask this vendor for its Ada95 compiler
version, providing you are still using a compiler from the same vendor.
If not, well, this is what happens when you depend on vendor specific
packages.>>


Jerry, you must have some Bowdlerized version of the RM :-)
All copies of the RM83 I ever saw most definitely DID define the
Low_level_IO package. yes, the body details are impl dependent,
but this i s most definitely NOT "some vendor specific library".





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

* Re: Ada 95 Low_Level_IO package
  1997-09-11  0:00 Ada 95 Low_Level_IO package John Cupak {73739}
  1997-09-12  0:00 ` Robert A Duff
@ 1997-09-13  0:00 ` Jerry van Dijk
  1997-09-13  0:00   ` Robert Dewar
  1997-09-13  0:00   ` Robert Dewar
  1 sibling, 2 replies; 8+ messages in thread
From: Jerry van Dijk @ 1997-09-13  0:00 UTC (permalink / raw)



In article <3418273B.167EB0E7@swl.msd.ray.com> jcj@swl.msd.ray.com writes:

>A programmer came to me asking where the Ada 95 Low_Level_IO package
>was. Immagine my surprise when I couldn't find it! Gee... I *knew* it
>was in Ada 83! Now, where did it go? Anybody have any idea

There never has been a 'Low_Level_IO' package in Ada83, this is probably
some vendor specific library. Ask this vendor for its Ada95 compiler
version, providing you are still using a compiler from the same vendor.
If not, well, this is what happens when you depend on vendor specific
packages.

>By the Way, the programmer wants to read/write data to a PC port.

How that could be archieved depents on the compiler and operating
system you are using.

--

-- Jerry van Dijk | Leiden, Holland
-- Consultant     | Team Ada
-- Ordina Finance | jdijk@acm.org




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

* Re: Ada 95 Low_Level_IO package
  1997-09-12  0:00 ` Robert A Duff
  1997-09-13  0:00   ` Robert Dewar
@ 1997-09-13  0:00   ` Jerry van Dijk
  1 sibling, 0 replies; 8+ messages in thread
From: Jerry van Dijk @ 1997-09-13  0:00 UTC (permalink / raw)



In article <EGEpFx.3s6@world.std.com> bobduff@world.std.com writes:

>>A programmer came to me asking where the Ada 95 Low_Level_IO package
>>was. Immagine my surprise when I couldn't find it! Gee... I *knew* it
>>was in Ada 83! Now, where did it go? Anybody have any ideas?
>
>Low_Level_IO existed in Ada 83, but its contents were entirely
>implementation-defined -- in particular, implementations could (and did)
>provide an empty package.

I guess my thinking really has been warped by some
magician into a unique PC windows limited view :-)

--

-- Jerry van Dijk | Leiden, Holland
-- Consultant     | Team Ada
-- Ordina Finance | jdijk@acm.org




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

* Re: Ada 95 Low_Level_IO package
  1997-09-13  0:00   ` Robert Dewar
@ 1997-09-14  0:00     ` Robert A Duff
  0 siblings, 0 replies; 8+ messages in thread
From: Robert A Duff @ 1997-09-14  0:00 UTC (permalink / raw)



In article <dewar.874181384@merv>, Robert Dewar <dewar@merv.cs.nyu.edu> wrote:
>Jerry, you must have some Bowdlerized version of the RM :-)
>All copies of the RM83 I ever saw most definitely DID define the
>Low_level_IO package. yes, the body details are impl dependent,
>but this i s most definitely NOT "some vendor specific library".

The SPEC is impl dependent, too!

- Bob




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

end of thread, other threads:[~1997-09-14  0:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-09-11  0:00 Ada 95 Low_Level_IO package John Cupak {73739}
1997-09-12  0:00 ` Robert A Duff
1997-09-13  0:00   ` Robert Dewar
1997-09-13  0:00   ` Jerry van Dijk
1997-09-13  0:00 ` Jerry van Dijk
1997-09-13  0:00   ` Robert Dewar
1997-09-14  0:00     ` Robert A Duff
1997-09-13  0:00   ` Robert Dewar

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