comp.lang.ada
 help / color / mirror / Atom feed
From: mfb@mbunix.mitre.org (Michael F Brenner)
Subject: Re: Conditional Code in Ada 95?
Date: 1998/08/26
Date: 1998-08-26T00:00:00+00:00	[thread overview]
Message-ID: <6s1kba$hck@top.mitre.org> (raw)
In-Reply-To: 6rtike$b3$1@nnrp1.dejanews.com


Mike > Yes, constants are good for executable statements. However, there is
     > no way WITHIN the Ada language to select which of the hardware
     > specific bodies to use with a multi-platform package.
     > This is to be considered a requirement for Ada 200X.

Responder > I can't see what has changed that should suggest reconsidering
          > this decision. Steelman specified no conditional compilation in
          > Ada, Ada 83 carefully considered that specification and agreed
          > with it, and Ada 95 also agreed. I see no reason to revisit this
          > unless there is new information, there has always been general
          > agreement that conditional compilation does not belong in the
          > language proper. 

You are right, as far as a C-preprocessor making the code harder to read.
However, the requirement would not be for a preprocessor, but for a
means WITHIN the language of selecting from among multiple package
bodies which share the same face (package specification modulo
the WITH list and the private part).

Jean Pierre > with Hardware_Specific_1;
            > package Hardware_Specific renames Hardware_Specific_1;

This work beautifully in many cases in Ada-95. For those projects
that are stuck in Ada-83 a little while longer until the remaining
bugs in various Ada-95 compilers or annexes are being worked out,
this is not possible, because Ada-83 forbids it. Because of problems
with supporting DOS, packed arrays, and other reasons, etc., the 
majority of code in the Ada language still must adhere to Ada-83.
 
Responder > Michael, what new information is available
          > that would suggest revisiting it (the fact that 
          > Michael Brenner wants it does not count as new information :-)

I am curious why you think that the requirements process should
not count requirements originating from me, a large user and
maintainer of Ada software? It should be a requirement of Ada 200X
that all of us can give inputs to the requirements process and
participate in the decision making process as well. I will start
by graning you amity -- I will consider any requirements that
originate with you, and will accept them unless I have a good reason
not to. I will count all of your requirements and suggestions as
a valuable contribution to the community.

However, it is approrpriate to repeat here the admonition that the
primary changes in  Ada 200X should be efficiency improvements and
language definition-bug-fixes, as opposed to major changes. The
only substantial addition to Ada 200X should be a full set of 
interfaces to the open (non-proprietary) standards like Java/SQL/
ODBC/JDBC/DOS/Posix/ and to common I/O devices like mouses, SCSI disks,
CDs, MIDI instruments, superVGA pixels, serial ports, interrupts, and
multiple keypress immediate keyboards.

Some of the changes in Ada 200X are:
  - get rid of any UNNECESSARY checking in various chapters
  - permit passing nongeneric packages to generic packages
  - keep things static that were static before passing them to generics
  - a way to select which body to compile for platform independent packages,
  - use a stream_io.stream intead of a text_io.stream for text_io
  

Mike





  parent reply	other threads:[~1998-08-26  0:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-21  0:00 Conditional Code in Ada 95? Rex Reges
1998-08-21  0:00 ` Gene Ouye
1998-08-24  0:00   ` Mark A Biggar
1998-08-27  0:00     ` Samuel T. Harris
1998-08-27  0:00       ` David C. Hoos, Sr.
1998-08-22  0:00 ` Gautier.DeMontmollin
1998-08-23  0:00   ` dewar
1998-08-24  0:00     ` Gautier.DeMontmollin
1998-08-24  0:00   ` Michael F Brenner
1998-08-25  0:00     ` dewarr
1998-08-25  0:00       ` Richard D Riehle
1998-08-26  0:00         ` dennison
1998-08-26  0:00           ` Richard D Riehle
1998-08-27  0:00             ` dennison
1998-08-26  0:00       ` Michael F Brenner [this message]
1998-08-25  0:00     ` Jean-Pierre Rosen
1998-08-28  0:00       ` Laurent Pautet
1998-08-22  0:00 ` dewarr
replies disabled

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