HDTenEightyP/NetNews huggingface dataset:
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Newsgroups: comp.lang.ada
Subject: Re: how pure are functions?
Date: 7 Apr 92 17:13:35 GMT
Organization: Loral Western Development Labs

In article <43123@as0c.sei.cmu.edu> ae@sei.cmu.edu (Arthur Evans) writes:
>    Are they free from internal state?
>No.

I would like to argue that the answer here should be YES.  Ada doesn't 
include a concept similar to C static variables, so any state kept for
an Ada function must be stored in a varible external to the function.
More then likely that variable is only visible in the body of the package
that defines the function and so is invisible to the user of the function,
but strictly the function itself has no "internal" state.  It can be argued
that in Ada only packages and tasks have "internal" state.

--
Mark Biggar
mab@wdl1.wdl.loral.com
From: rs_zimmerman@ccmail.pnl.gov (Richard S Zimmerman)
Newsgroups: comp.lang.ada
Subject: INFO-ADA Digest V92 #57
Date: 14 Apr 92 18:03:00 GMT
Distribution: world
Organization: The Internet


          Anyone out there have any experience calling Ada procedures,
          tasks, etc. from C or C++. What were some of the issues you
          faced? Solutions?

          Also, going the other way, Ada to C and/or C++. Most
          compilers support the calling of C modules, but how about
          C++. Any ideas on not-so-obvious problems with this.

          Please foward any insights and/or examples to:

                    rs_zimmerman@pnl.gov

          I will summarize and post any responses.

          Thanks in advance.


          Rick Zimmerman
          Pacific Northwest Laboratories
          Richland, WA
From: mfeldman@milton.u.washington.edu (Michael Feldman)
Newsgroups: comp.lang.ada
Subject: Re: Open comment to Ted Holden
Date: 14 Apr 92 20:27:08 GMT
Article-I.D.: u.1992Apr14.202708.18771
Organization: University of Washington, Seattle

In article <1745@nic.cerf.net> jonesm@nic.cerf.net (Matthew Jones) writes:
>And for my 2 cents.

  [ 1.5 cents deleted ]
>
>To me that largest problem with Ada is that it doesn't have a large
>customer base. So the Ada Compiler/development systems are not checked
>out as well as its commerial counterparts. How many beta test sites
>are there for the average C compiler? How many for Ada? And keep in mind
>that Ada is a lot more complicated than C. Borland has sold hundreds
>of thousands of their C (and C++) compilers, how many has Meredian
>or Alsys sold for the PC?
>
Now my $0.02. Meridian and Alsys (and RR Software) have sold - at least -
several thousand copies apiece of their systems. It's not up to Borland's
quantities, or Microsoft's, but it's not trivial either.

Meridian, Alsys, and RR are, in my opinion, guilty of a terribly myopic
view of Ada, shared by much of the Ada industry. Ada does not have a large
customer base because - several years ago when there was plenty of DoD
and venture money flowing, the Ada companies failed to hire marketing
forces who would break their backs enlarging that customer base. Now,
when money is tight, they complain - perhaps with justification -
that they can't afford to do so. 

IMHO, none of the Ada companies seem to have done a close study of
the successful mass-market software houses, and tried to emulate them.
Ada is a VERY GOOD language, and could be quite a worthy competitor to
the others, but its proponents must be willing to admit that Ada has
mass-market potential. Meridian persists in selling against Alsys, which
persists in selling against TeleSoft, etc. No company has had the
vision to sell - HARD - against the other languages.

The engineers in these companies believe they have a better mousetrap
(at least I think they do), but the world can't beat a path to their
door because they don't know the door is there.

One small example: I meet a lot of college kids who grew up in the Seattle
area. The biggest employer in Seattle is Boeing (~100,000 jobs here). My
guess is that Boeing has as many software people as Microsoft (which has,
I think, about 6000 employees). Yet these students ALL know that Microsoft
is heavy into C, and very few - if any - know that Boeing is heavy into
Ada. Their jaws drop when I tell them.

Why are Borland and Microsoft compilers sold in every software store in
town, but nobody's heard of Meridian? The Ada companies will either learn
that they have to spend money to make money, hire some decent marketeers,
take some risks, and go for it, or they will simply shrivel up and die.
Ada is a much better invention than its own proponents allow it to be.

Spare me the flames about how expensive validation is. I know that, and
know that all the validation in the world will not sell a product its
own manufacturers refuse to market aggressively.

Mike Feldman
From: ae@sei.cmu.edu (Arthur Evans)
Newsgroups: comp.lang.ada
Subject: Re: Ada 9X plans for Generic Formal Packages
Date: 8 Apr 92 13:02:54 GMT
In-reply-to: smithd@software.org's message of 7 Apr 92 19:29:22 GMT
cc: smithd@software.org (Doug Smith)

smithd@software.org (Doug Smith) asks about generic formal packages in
Ada 9X.

Smith cites (incompletely)
    Ada 9X Mapping Document Volume I: Mapping Rationale, March 1992
in which Section S.12.1.4 provides the rationale for a new feature.  He
then asks for more information about that feature.

See
    Ada 9X Mapping Specifucation Volume II: Mapping Specification,
    December 1991.
(This is MS 4.0, version 4.0 of the Mapping Specification.)  The feature
in question is described in section 12.1.4.  You will find there all the
information you need.

Art Evans
----------------------------------------------
Arthur Evans, Jr, PhD           Ada Consultant
461 Fairview Road
Pittsburgh PA  15238-1933
412-963-0839
ae@sei.cmu.edu
Newsgroups: comp.lang.ada
From: smithd@software.org (Doug Smith)
Subject: Re: Ada 9X plans for Generic Formal Packages
Organization: Software Productivity Consortium, Herndon, Virginia
Date: Mon, 13 Apr 1992 22:13:07 GMT

In article <1992Apr8.154108.2294@wdl.loral.com> mab@wdl39.wdl.loral.com (Mark A Biggar) writes:
> In article <1992Apr7.192922.24708@software.org> smithd@software.org (Doug Smith) writes:
> >A quick look at the March 92 Draft Ada 9X Project Report revealed
> >a new item:
> >    S.12.1.4 Generic Formal Packages [new]
> >However, the accompanying description and example leaves out a
> >lot of detail:
> 
[Several questions and helpful answers deleted]
> --
> Mark Biggar
> mab@wdl1.wdl.loral.com

Thank you (and I did find the Dec 91 Mapping Spec which helped).

And now to clarify the question I was hopping to get answered.  Can
a generic instantiate another generic that is part of a package
specified as a formal argument:

       generic
       package Template is
          generic
             with procedure To_Do;
          procedure Iterate; -- This generic will eventually be
                             -- instantiated indirectly
                             -- when Outer is Instantiated
       end Template;

       with Template;
       generic
          with package New_Template is
             new Template;
       package Outer is
          procedure To_Do; -- The essence of what this
                           -- package does.
          procedure Invoke is
             new New_Template.Iterate (To_Do); -- !!!!!!
       end Outer;

       -- The Instantiations:
       package Structure is new Template;
       package Algorithm is new Outer (Structure);

I think even if code like this example will be allowed in Ada9X,
it will not do what I envisioned.  Maybe someone can suggest
how Ada9X might implement a generic Sum utility that uses passive
iteration, without regard to where the iterator comes from:

       generic
          type Element is limited private;
          type List    is limited private;

          with generic
                  with procedure To_Do (E : in Element);
               procedure Iterate (L : in List);

          with procedure Add (Cur : in out Element;
                              Val : in     Element);

       procedure Sum (Result : in out Element;
                      L      : in     List);
          -- Result must be initialized before Sum is called.

       procedure Sum (Result : in out Element;
                      L      : in     List) is
          procedure Add_To_Result (E : in Element) is
          begin
             Add (Result, Val);
          end;

          procedure Composition is
             new Iterate (Add_To_Result);
       begin
          Composition (L);
       end Sum;

Let me know if there is a better place for this discussion.

        Doug
From: SAHARBAUGH@ROO.FIT.EDU
Newsgroups: comp.lang.ada
Subject: reply to Greg's reply
Date: 13 Apr 92 20:36:00 GMT
Article-I.D.: ajpo.9204132035.AA07073
Organization: The Internet

Greg Aharonian writes:
        Maybe Ted is unsuccessfully trying to say that while Ada is more
safe and reliable to program in than other computer languages and commercial
software products (which is a very desirable for the military), it is not
more cost effective (that is, with different policies, other languages or
off-the-shelf stuff can be used and still meet mission requirements).

I say: You can't get off-the-shelf weapons software.


        A point in his favor, though, is that military specifications and
procedures are excessive.  A good number of soldiers ordered commercial,
off-the-shelf GPS recievers with their credit cards during the Gulf War,
and had no complaints about their operations, especially those whose lives
were saved.  If commercial, off-the-shelf, less mil-spec equipement passed
the test of combat, maybe the DoD software standards are as excessive. 

I say: First, the GPS receiver is just the tip of the iceberg, system-wise. 
There
are numerous satellites in orbit, launch vehicles and systems involved, ground
stations tending them (under Air Force control I believe).  Also I bet that
the commercial receivers were derived from designs paid for by the DoD.

I say: Second, they didn't pass the test of combat.  Remember that in a real
war
Loran, GPS and commercial radio and TV are useless for location.  You need
the right code for Loran, GPS, TACAN etc. and commercial radio goes to moving
virtual source (Conalrad alert)

        Throwing money at Ada as a very safe, reliable system for mission
critical systems is justifiable, giving the lives and freedoms at stake.
Doing so because Ada is more cost-effective is a silly attempt by socialists
to act like captilists.  No one cares, as long as they defend the country.

Yes, on this we agree 100%.

ps: I wish I had that neat software that puts an identifier on each line
of the original message.

sam harbaugh saharbaugh@ROO.FIT.EDU        
-----------
Newsgroups: comp.lang.ada
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Subject: Re: 'IMAGE
Organization: Loral Western Development Labs
Date: Thu, 9 Apr 1992 20:53:05 GMT

In article <1714@nic.cerf.net> sss@nic.cerf.net (Marlene M. Eckert) writes:
>Hello.
>Should the following 'image of an uninitialized
>enumeration type raise CONSTRAINT_ERROR?
>In similar situations our compiler has printed all
>blanks, garbage, and even readable garbage.  Of
>course, the answer is probably in the LRM somewhere...
>---------------------------------------------------------
>with Text_IO; use Text_IO;
>procedure Image is
>type Colors is (Red, Green, Blue);
>My_Color : Colors;  -- Not initialized!
>begin
>  Put_Line(Colors'image(My_Color)); -- Legal?
>end Image;

Using an undefined value like that makes your program erronious and it can do 
anything it damn well pleases, i.e., raise CONSTRAINT_ERROR, Crash the CPU,
Erase your hard disk, even as someone put it in comp.std.c in a similar
discussion cause miniture deamons to blow out your nose!

There has been quite a lot of discussion about this in the Ada9X reviewers
group and Ada9x may well contain something that tightens this up to at
least a bounded error (the program is still in error, it is not required that
the error be detected, but the set of allowed actions is finite and
specified by the standard.)

--
Mark Biggar
mab@wdl1.wdl.loral.com
From: mab@wdl39.wdl.loral.com (Mark A Biggar)
Newsgroups: comp.lang.ada
Subject: Re: Ada 9X plans for Generic Formal Packages
Date: 8 Apr 92 15:41:08 GMT
Organization: Loral Western Development Labs

In article <1992Apr7.192922.24708@software.org> smithd@software.org (Doug Smith) writes:
>A quick look at the March 92 Draft Ada 9X Project Report revealed
>a new item:
>    S.12.1.4 Generic Formal Packages [new]
>However, the accompanying description and example leaves out a
>lot of detail:
>    o   How does the generic instantiate the formal package
>        (named associations, etc.?)

It doesn't.  The actual argument to a generic instantiation with a generic
formal package parameter is an already instantiated package, which must
be an instance of the generic package specified in the generic formal part.

For example:
------------------------------------------------
generic 
	type FLOAT_T is digits <>;
package Gen_Complex is
	...   -- defines type COMPLEX, +, -, *, etc.
end Gen_Complex;

generic
	with package Complex is
		new Gen_Complex(<>);
package Gen_Complex_Functions is
	...   -- defines sin, cos, exp, log, etc
end Gen_Complex_Functions;

type MY_FLOAT is digits 23;

package MY_COMPLEX is new Gen_Complex(MY_FLOAT);

package MY_COMPLEX_FUNCTIONS is new Gen_Complex_Functions(MY_COMPLEX);
---------------------------------------------------
Note that the actual argument to Gen_Complex_Functions in the final
instantiation is the already instantiated package MY_COMPLEX.


>    o   How are the profiles of the actual packages mapped
>        to the profiles of the generic formal packages?

By requiring that the actual argument to the generic be only instantiations
of the given formal generic package, no mapping is necessary as all possible
arguments have identical profiles.

>    o   How will defaults work?

They don't as there are no defaults for generic formal package parameters.

>Can anyone point me to further information concerning this
>feature.  I have suggested something similar to several
>people and see a great deal of power behind it--if it
>really is what it appears to be:  Providing generic
>packages as formal parameters to generic packages!

--
Mark Biggar
mab@wdl1.wdl.loral.com
From: grx0363@uoft02.utoledo.edu
Newsgroups: comp.lang.ada
Subject: PC ADA
Date: 7 Apr 92 00:38:46 EST
Organization: University of Toledo, Computer Services

hey,

can anybody send me the mailing addresses and phone numbers of
vendors who sell PC Ada compilers. I'm not on this newsgrup much
so please mail directly to my account.

thanks a bunch!!!

don wedding
From: news@fedfil.UUCP (news)
Newsgroups: comp.lang.ada
Subject: Re: Open comment to Ted Holden
Date: 11 Apr 92 07:18:06 GMT
Organization: HTE

In article <9204081355.AA13680@ajpo.sei.cmu.edu>, SAHARBAUGH@ROO.FIT.EDU writes:
> Ted,
>   You do not seem to grasp the difference between the mission of
> the US Army and the mission of commercial software vendors.
> The US Army must defend our country and keep you and I and
> our decendants safe.  The commercial software vendors must
> make a profit for their stockholders.
>   You do not seem to grasp the difference in performance
> requirements ofr military software vs commercial software.
> Military software must work or we may lose the war. 

Several points:  The commercial software venders are now adhering
to standards, the most serious from the perspective of languages 
being C/C++.  The argument you give would pertain in a situation
in which Borland, MicroSoft, Ashton-Tate et. al. were each hawking
their very own language.  The reality is quite different.  The choice
is between the standard North American programming language (C/C++)
which everybody uses and which is well understood by most serious
programmers, and the flakey piece of garbage known as Ada.

The problems mentioned in that large post of mine are real enough.  Some
very bright people have been wasting their lives spending 12 hours working
around Ada and one hour solving their own problem (to the extent
possible WITH Ada)..

Virtually all really vital and serious military work is still being
done in C and other languages with waivers.  There's a real reason
for that.

Ted Holden



-- 
HTE
bear
From: ecragg@GMUVAX.GMU.EDU ("EDWARD CRAGG")
Newsgroups: comp.lang.ada
Subject: adminstrivia - Info-Ada Digest Status
Date: 14 Apr 92 20:36:00 GMT
Distribution: world
Organization: The Internet


    What a disasterous two months.   As all of you on the
INFO-ADA Digest distribution list know, we were off line for 6
weeks.  The problem was two-fold.  First SIMTEL20 started having
air conditioning problems which put them down a lot.  About the
same time I uploaded an updated address list which had a typo --
(unmatched "s). When the digest stopped coming, I checked with
SIMTEL, found out about the A/C problems, assumed that that was
the problem, and decided to wait it out.  (With the quantity of
mail I was getting at INFO-ADA-REQUEST I could just imagine what
SIMTEL was getting and I did not want to add to their burden). 
Unfortuately, it was the unmatched "s that were causing the
problem.  The problem is now fixed.  I have cleaned out the 2000+
messages at INFO-ADA-REQUEST and uploaded an updated address
list. Everything should be functioning smoothly as of this issue.

    I do have all the missing issues, and will arange for them to
go out to the list after the Easter break. 

ed
 ............................................................
Edward E Cragg                Bitnet:   ECRAGG@GMUVAX
                              Internet: ECRAGG@GMU.EDU
From: John_A_Kostecki.Wbst129ul@XEROX.COM
Newsgroups: comp.lang.ada
Subject: Re: INFO-ADA Digest V92 #56 (Re: Why Ada)
Date: 13 Apr 92 14:08:46 GMT
Reply-To: John_A_Kostecki.Wbst129ul@xerox.com
Distribution: world
Organization: The Internet

Folks,

You know, this whole discussion of whether Ada is "good" or not (and concurrent
discussions of Ted Holden) are somewhat useless.  I don't think that we will
ever convince poor Ted that Ada has a usefulness in the world.  I don't think
we need to.  I have worked in both Ada and C environments and most of the
problems were just bad engineering, not a nuance of the language.  I have
tended to react to this argument in the same way that I reacted the first time
I walked into my horse's stall: first I was offended by the smell; but then
later on, I just ignored all the stuff, because I understood the source of the
inconvenience.

Regards,
John

P.S.: We have opted for C++ instead of Ada because someone said that you could
write "elegant" code in C.  I love these technically decided issues.
Newsgroups: comp.lang.ada
From: bhanafee@deimos.ads.com (Brian Hanafee)
Subject: Re: Open comment to Ted Holden
Organization: Advanced Decision Systems, Mountain View, CA 94043, +1 (415)
	960-7300
	<1992Apr9.155334.20536@schaefer.math.wisc.edu>
	<spray.702841253@convex.convex.com>
Date: Thu, 9 Apr 1992 20:52:32 GMT

In article <spray.702841253@convex.convex.com> spray@convex.com (Rob Spray) writes:
>In <1992Apr9.155334.20536@schaefer.math.wisc.edu> nedervol@schaefer.math.wisc.edu (Eric Nedervold) writes:
>>Does this argument extend to hardware too?  Like $500 toilet seats?
>
>I believe that most of these popular DoD-bashing anecdotes are driven
>by:
>
> [first 3 reasons deleted]

d) Incomplete stories being told to the public by people such as Sen.
   Proxmire.  As I got the story (2nd hand from an ex-Lockheed
   employee), the famous $500 toilet seat was a part from the P-3
   Orion (a submarine chasing aircraft with a very long endurance).
   To reduce weight, all of the interior wall panels were molded from
   a Kevlar/resin material.  One of the moldings (for an entire wall
   panel) included the toilet seat as an integral part.  The entire
   custom wall panel cost $500.

e) Stockpiling requirements.  Since many DoD contracts require that
   the manufacturer be able to provide spares for many years, and the
   parts are often custom built, the price includes the cost of
   keeping the part in inventory for years at a time (usually cheaper
   than restarting the production line years into the contract for one
   or two parts).  Commercial companies avoid this problem by making
   customers buy entire new systems.


>--Rob   spray@convex.com
--
Brian Hanafee                         Advanced Decision Systems
bhanafee@ads.com                      1500 Plymouth Street
(415) 960-7300                        Mountain View, CA 94043-1230
Xref: sparky comp.lang.ada:1175 comp.windows.x:9571
From: blakemor@sunset.sda.com.COM (Alex Blakemore)
Newsgroups: comp.lang.ada,comp.windows.x
Subject: Re: Ada multitasking with X-windows
Summary: fork() is a Unix system call - its not part of C
Keywords: Ada C Unix concurrency task X Windows portability
Date: 6 Apr 92 03:11:31 GMT
Followup-To: comp.lang.ada
Organization: /etc/organization

Marci Khader asked for help designing an interactive Ada X windows SQL program
> In 'C' you could do a fork with the parent not waiting for the
> child to finish.  

Tomm Chatt suggested 
> Use Unix processes to deal with the concurrency.

Then Marci Tabacchi replied
> Thanks for the suggestions and valuable insight.  Appealing and elegent
> as it may be, using Unix processes to implement the concurrency is
> a no-no, in light of the portability aspects.

fork() is a Unix system call to create a Unix process.
It is not part of the C language.
There is no reason why Ada programs are not allowed to call Unix
(or other OS) routines.  If depending on Unix is not considered
portablem, then C should be held to the same standard.


-- 
Alex Blakemore
alex@cs.umd.edu blakemor@marlstone.com
NeXT mail accepted
From: jonesm@nic.cerf.net (Matthew Jones)
Newsgroups: comp.lang.ada
Subject: Re: Open comment to Ted Holden
Date: 14 Apr 92 15:59:38 GMT
Organization: CERFnet

And for my 2 cents.

I think that comparing carrying commercial GPS equipment into the desert
to mil equipment is really not fair. First as someone already pointed out
the war only lasted a few days and second GPS is a really simple device
and is of a really small form factor. I hardly think this is a good test
for camparing commercial to mil equipment. 

Defense contractors take a lot of criticism for producing expensive 
bug riddled products. Many people ask why doesn't mil equipment 
work as well as commercial stuff. I think that people should consider
that Microsoft for example had 50,000 people beta test Windows 3.1
and the people are still having problems with it. Does
the defense department have 50,000 people to test their equipment?
For free? Does the Dod have a Dr. Dobbs Journal or many of the 
equivalents to help them work over technical issues. 
That is paid for by the user community?
If a Word processor has a FATAL bug it in that probably means that
it might destroy some data on your hard disk. A FATAL error in 
a mil system may mean that many people will die. Are these two really
comparable?

To me that largest problem with Ada is that it doesn't have a large
customer base. So the Ada Compiler/development systems are not checked
out as well as its commerial counterparts. How many beta test sites
are there for the average C compiler? How many for Ada? And keep in mind
that Ada is a lot more complicated than C. Borland has sold hundreds
of thousands of their C (and C++) compilers, how many has Meredian
or Alsys sold for the PC?

End of 2 cents.

Matthew Jones
jonesm@cerf.net