comp.lang.ada
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Air traffic control system in Java
  @ 2011-03-06 22:47 47%                                   ` Rick
  0 siblings, 0 replies; 200+ results
From: Rick @ 2011-03-06 22:47 UTC (permalink / raw)
  Cc: charlet, setton, dewar

On Mar 6, 5:21 pm, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> On Sat, 5 Mar 2011 15:32:25 -0800 (PST), Rick wrote:
> > I have AdaCore's GtkAda 2.14.10.  It does not have anything like what
> > I see at these URLs.  How do I get this functionality?
>
> Interesting, don't you have files like
>
>    gtk-extra-plot*.ad*
>
> files in C:\GtkAda\include\gtkada?


As ever, you're right - I do have these files.  I just didn't know I
did.  I guess I'm not alone in assuming that I have only what the
Reference Manual tells me I have.


>
> Or did you mean the documentation? AdaCore switched the on-line GtkAda
> documentation to an IMO worse version. I don't know the reason why they did
> so. Anyway, it also contains Gtk.Extra.Plot stuff. See:
>
> http://libre.adacore.com/wp-content/files/auto_update/gtkada-docs/gtk...
> http://libre.adacore.com/wp-content/files/auto_update/gtkada-docs/gtk...
> http://libre.adacore.com/wp-content/files/auto_update/gtkada-docs/gtk...
> http://libre.adacore.com/wp-content/files/auto_update/gtkada-docs/gtk...


This RM is from AdaCore.  It appears far more comprehensive, although
a little less user friendly.  I, for one, could do without the
friendship if it brought greater comprehension.  Perhaps the GNAT
Academic Program could, at least, offer the option ... ?  It really
opens a whole new world for the (simple) end-user.

Thanks Dmitry




^ permalink raw reply	[relevance 47%]

* So long folks (from Robert Dewar)
@ 2002-08-31 22:04 22% Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-31 22:04 UTC (permalink / raw)


I have decided to tune off comp.lang.ada. There is not
enough time in the day to read everything around. I am
happy to get email at dewar@gnat.com if there is anything
that people specifically want to discuss with me.

Meanwhile I am busy going over ten years of google archives
and I am extracting useful posts of mine to gather together
in a collection :-)

Robert Dewar



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-31 22:02 21%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-31 22:02 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<_16c9.144872$aA.31015@sccrnsc02>...

Tom, your attempt to use bogus statistics (I won't even
bother to analyze them in detail here) to cover up a basic
mistake is instructive. I will point my students to this
as an example of how statistics can be used to
obfuscate :-)

The fundamental fact remains that under the only reasonable
assumption which is that added text is approximately constant, the
effect of quoting all previous messages adds
a quadratic effect, not an exponential effect.



^ permalink raw reply	[relevance 21%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-31 12:21 19%         ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-31 12:21 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<klia9.74$Bg4.9214321@newssvr14.news.prodigy.com>...
> > Let's suppose that everyone adds 10 lines and quotes everything before
>   Let's suppose that everyone adds 10% to what they are quoting.  Then
> the size of message N is 1.1**N * OP.

Tom you are digging yourself in deeper here in an attempt
to justify your basic error :-)

If you make the absurd assumption that the size of replies
asymptotically increases by 10%, then the total amount of
material filed increases exponentially WITHOUT quoting.
That's of course obvious but totally irrelevant.

It is true that sometimes the drivel on this newsgroup
in some threads gives the impression of increasing with
every reply, but even the CLA folks can't keep that up
for ever :-)

> > Let's suppose that everyone adds 10 lines and quotes 
> > everything before
> > So the size of messages grows only linearly
>   Right.  In that case new messages don't grow 
> > exponentially, but linearly.

Yes, but my comment was about the size of the thread.

> > But, by elementary summing of an arithmetic series, the 
> > total amount of space
>   The reader of a message doesn't see the sum, but rather 
> > the latest
> > individual message (unless he has a really strange mail 
> > reader).

Someone reading the thread will see the quadratic 
accumulation.

>   In a more perfect world, everyone would quote, say, 2 
> lines for context,
> add a concise 3 line comment, and all messages would be a 
> constant 5 lines.

That's a silly comment, especially without a smiley. Sometimes you
have to quote quite a bit, sometimes
only a little. Sometimes you can say what you are saying
briefly, sometimes it takes longer. Some of my most useful
posts are in the form of lengthy tutorials. Now that Google
has the full archives, I am extracting these into a book :-)

The underlying annoying behavior here is people using
microjunk mailers set to quote the entire message by
default (yes, I realize some other mailers besides microjunk ones can
make this too easy as well -- people
have a nasty habit of following the MJ lead :-)



^ permalink raw reply	[relevance 19%]

* Re: Thought this was interesting (OT)
  @ 2002-08-28 11:09 21%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-28 11:09 UTC (permalink / raw)


"SteveD" <nospam_steved94@attbi.com> wrote in message news:<XVWa9.204365$983.396527@rwcrnsc53>...

> I get the same result with ObjectAda 7.2 and GNAT 3.14p, but interestingly I
> dont get the reset if I try the equivalent program in Microsoft C++.

Then it is not the equivalent program! You can always write a C program that
does exactly the same thing as any GNAT program, if you try and do not get
the same effect, you simply did not write an equivalent program, but rather
a similar but not identical program. Since this is a pretty bizarre bug in
the operating system, it is not so surprising that a slight change would
make it go away.



^ permalink raw reply	[relevance 21%]

* Re: Run-Time Type Assignment
  @ 2002-08-28 11:04 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-28 11:04 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030517642.16877.comp.lang.ada@ada.eu.org>...
> The variant record approach possibly
> would have worked in Pascal; however, it did not compile in the
> cost-free GNAT compiler.

The approach could work fine, but obviously the compiler would be
expected to reject the illegal Ada code you fed into it (this does
not haave to do with "cost-free", it has to do with rules in the RM :-)

it is of course the case that anything you can do in Pascal
can easily be done in Ada



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-28  1:56 16%                               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-28  1:56 UTC (permalink / raw)


"Juha Valimaki" <juha.valimaki@xdsloy.com> wrote in message news:<akf4bg$454$1@phys-news1.kolumbus.fi>...

> If some kind of proof is needed why small markets _need_ every customer look
> at it this way:
> X is number of people using free tools
> Y is number of people using low end commercial tools
> Z is number of people using high end commercial tools
> 
> X+Y+Z is the group of all Ada users. If you take away the free tools then N%
> of group X will buy a tool. N%*X+Y+Z > Y+Z, if N>0. Note however: Y+Z is
> likely to be smaller than X+Y+Z, but the market will be larger in terms of
> money!.

A completely bogus argument, because it ignores the fact that the
existence
of a free tool may increase the total number of users, so the X/Y/Z
are by
no means constant, and you have no evidence that they are (or rather
would be)


> For me it seems you are afraid that low end solutions would eat up your
> revenue

Nope, that has nothing to do with it, it is just that this end of the
market
is not what we specialize in, and we believe our success (our sales
are substantially up this year) is significantly due to the fact that
we keep
a narrow well defined focus.

> and that Ada would be used more in general purpose programs that
> don't focus on mission critical code

No, we don't believe that at all! If you believe it why not start a
business
aiming at these users, since it sounds like you believe it would be
profitable.
By the way, notice that you are also agreeing that the X/Y/Z may not
be
constant in your above equation (though in the opposite direction from
me :-)

> That's a perfectly legal reason to suppress competition :-)

Nobody is suppressing competition here. We are one of the very few
software
companies that invites you to compete its market, and hands you at no
cost
the technology that you need to compete.

> I really believe Ada tool vendors would understand that there has to be some
> way for people to try Ada and do research without large cost. 

For trying ada and doing research, the public version of GNAT is
definitely
appropriate, and for sure does not have a large cost.


> but I
> think many small companies would easily pay $2000-$4000 per developer (PER
> DEVELOPER is the key here).

Well of course for small teams of people from 3 on up, that's
precisely our
price range, and you are right, many small companies are prepared to
pay this
for high level support.

The one case where we do not cater to this model is for smaller groups
(of
1 or 2 people), but as I said earlier, we did this at first, and found
that
these isolated users of GNAT expected far far more support than larger
groups
and we simply could not afford to give them the high quality support
that we
guarantee at the single seat price. We actually found that the typical
pattern
was that one person teams asked far more questions than a five person
team,
but we really can't charge more, but we do charge the same!

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 16%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-28  1:41 21%                     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-28  1:41 UTC (permalink / raw)


ada@polarhome.com (Anatoly Chernyshev) wrote in message news:<2a038d0e.0208271023.6b0fc44e@posting.google.com>...
> Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<akflgg$1hdrbh$1@ID-77047.news.dfncis.de>...

> This is just an estimation made for fun, so I may be totally wrong.

Well in general it is certainly possible to store information in devices
where the mass of a 0 and 1 are identical. For example, consider a slider
with a weight sliding on it. If the weight is at one end it is a 0 and
if it is at the other, it is a 1. Clearly the mass is the same in both
cases, so I think the argument from entropy change is bogus :-)



^ permalink raw reply	[relevance 21%]

* Re: what means the " ' " in use with a record type?
  @ 2002-08-26 20:43 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-26 20:43 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<Qnfa9.31$O%2.4390056@newssvr14.news.prodigy.com>...
> > if Node were derived from N without any extensions, then x's value could
> > be of either Node or N.
>   A qualified expression is normally only needed when there is an
> ambiguity like this and you need to tell the compiler which you mean.
> But in the case of allocators with initial value, you _always_ have to
> use a qualified expression, regardless of whether there's an ambiguity
> or not.  Why the inconsistency?  For documentation purposes?

No, it is because it is always ambiguous, given you are not allowed to look
inside the aggregate. I suppose you could have a rule that if there is only
one composite type ..... :-)



^ permalink raw reply	[relevance 22%]

* Re: what means the " ' " in use with a record type?
  @ 2002-08-26 20:41 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-26 20:41 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<rC_99.324$gK6.29595828@newssvr21.news.prodigy.com>...
>   If x is an access to type node, why is the qualified expression needed,
> while it's not needed in:
>   type fruits is (apple, orange, banana);
>   type colors is (red, orange, yellow);
>   color : colors;
>   fruit : fruits;
> begin
>   color := orange;
>   fruit := orange;

Because you cannot look inside an aggregate to determine its type. See RM
for details, and AARM for motivational information.



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-26  1:56 20%     ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-26  1:56 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<pG_99.325$kO6.29849783@newssvr21.news.prodigy.com>...
> > b) people quoting entire messages all the time. The most aggravating
> > is when you get two people doing it at one another and generating
> > quadratic amounts of
> > quoted junk.

>   This is wrong.  It's exponential.

Oh dear!

Time for an elementary lesson in math :-)
(well actually in computer science, you need to be able to do this
sort of thing to do elementary complexity analysis of algorithms)

Let's suppose that everyone adds 10 lines and quotes everything before

then we have message lengths that are

10 20 30 40 50 60 70

Each message contains one copy (only) of everything that has been sent before
(not multiple copies). I trust that is obvious

In other words the size of message N is 10N lines

So the size of messages grows only linearly

But, by elementary summing of an arithmetic series, the total amount of space
occupied by the first N messages will be

(10 + 10N)/2 * N  = (10N + 10N**2) / 2

The quadratic term dominates and the result is asymptotically

  5 * N**2

which is called quadratic.

The casual use of exponential to talk of things that grow fast is something
that technical people should avoid!



^ permalink raw reply	[relevance 20%]

* Re: stupid question: how can I finish a program?
  @ 2002-08-25  2:22 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-25  2:22 UTC (permalink / raw)


"Marin D. Condic" <not.valid@acm.org> wrote in message news:<ajdnck$k12$1@nh.pace.co.uk>...
> This is a question that seems to come up fairly regularly: "Is there a
> standard way of forcing an Ada program to terminate?" Since the current
> answer is "No"

No, the current answer is "Yes", you can abort the environment task.



^ permalink raw reply	[relevance 22%]

* Re: Thought this was interesting
  @ 2002-08-24 23:01 21% ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 23:01 UTC (permalink / raw)


Darren New <dnew@san.rr.com> wrote in message news:<3D6688E1.3A1797CC@san.rr.com>...
> How to really get zero-defect code:
> http://www.fastcompany.com/online/06/writestuff.html

Well this article is a bit full of hype for my taste.

If anyone is interested in understanding how software that must be defect
free (e.g. safety-critical software) is written. I recommend reading the
HRG report.

By the way the shuttle software is not the greatest example here. The launch
of the very first shuttle was delayed because of a software bug :-)



^ permalink raw reply	[relevance 21%]

* mailers, quoting text etc. (was Ada 95 for an ARM-based bare board?)
    2002-08-24 20:00 17% ` Excessive quoting and Outlook (was: Ada 95 for an ARM-based bare board?) Robert Dewar
@ 2002-08-24 21:57 21% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 21:57 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030166702.5161.comp.lang.ada@ada.eu.org>...

> I would be surprised if some Microsoft Wizardry made any unseen additions.

Really?

Typical microsoft mailers make the unseen addition of completely useless
HTML by default that is

a) redundant and serves no purpose
b) wastes bandwidth and clutters up databases
c) presents a security risk (HTML attachments are not benign!)

But I guess none of these (especially c) has ever been of any concern to MS :-)



^ permalink raw reply	[relevance 21%]

* Re: Software Economics was RE: Ada 95 for an ARM-based bare board?
  @ 2002-08-24 21:53 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 21:53 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<FAG99.5493$wr1.465839426@newssvr13.news.prodigy.com>...

>  Correct me if I'm wrong Bob, but I
> understood you to be referring to the public, $0, version of Gnat, which
> appears to be the beneficiary of work on (ie, is subsidized by) Gnat Pro.

Yes, but the public version of GNAT is not a commercial product by an
stretch
of the imagination. So I am not sure what the comparison with
Microsoft meant.

If Microsoft had been giving away a limited version of IE free with
the intention of stimulating sales for the non-free $$ version from
which they
could make lots of money, that's a totally different manner. Free
samples
are a pervasive marketing tactic after all :-)



^ permalink raw reply	[relevance 21%]

* Re: best way to handle long strings!?
  @ 2002-08-24 21:48 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 21:48 UTC (permalink / raw)


Bruce or Tracy Jacobs <bljacobs2@mchsi.com> wrote in message news:<3D67A8C0.FB045D7E@mchsi.com>...
> Just a side note - if you use Booch Unbounded String

Don't! It is obsolete
Use Ada.Strings.Unbounded
and you do not have to worry about reallocating and copying



^ permalink raw reply	[relevance 22%]

* Re: Excessive quoting and Outlook (was: Ada 95 for an ARM-based bare board?)
  @ 2002-08-24 20:00 17% ` Robert Dewar
  2002-08-24 21:57 21% ` mailers, quoting text etc. (was " Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 20:00 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030166702.5161.comp.lang.ada@ada.eu.org>...
> From: Bob Leif
> To: Robert Dewar et al.
> I quoted a very small part of the article. As a
> scientist, I have been
> programmed to always show my evidence.

First, to see what you posted, just go look back at the
article, I am certainly not about to repost it again.

Second, as a scientist if you tried to publish a paper
which consisted of one half or less of your own material
and one half or more of a gigantic quotation from a published paper,
then your submission would be rejected
not the least of the reasons would be that this is almost
certainly not fair use :-)

Bob, when you participate in use net, all messages are
threaded. Well actually I should not really say that, since
you seem to manage to break the threading pretty often.

But even when you are posting, there is almost always a
reference line of the form:

"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030166702.5161.comp.lang.ada@ada.eu.org>...

that you can see. This is all that is necessary most of
the time, and is like a reference in a scientific paper.

As for Outlook (one of the worst programs ever written IMO, and a
program that is single handedly responsible
for billions of dollars of damage by viruses because of
its complete lack of concern for security), it most certainly does
have defaults that are quite inappropriate.
I suggest you very carefully check the defaults you are
using and make sure they are appropriate. 

Now to be fair, Microsoft has *finally* recognized that
security is worth worrying about (you may remember the
highly publicized period earlier this year when development at MS was
stopped so everyone could worry about security).
So perhaps things may improve in the future



^ permalink raw reply	[relevance 17%]

* Re: what means the " ' " in use with a record type?
  @ 2002-08-24 13:19 19%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-24 13:19 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<hKw99.5354$jD1.434739270@newssvr13.news.prodigy.com>...
> > return new node'(value => x, to => l);

> > what means the apostrophe between node and (value => ......?

>   It means you want to allocate a new object of type "node" and
> give it an initial value of (x,l).

This is highly misleading, The questioner asked about the apostrophe, and
Tom is answering about the whole construct.

The quote has nothing whatever to do with allocation.

The expression node'(....)

is called a qualified expression. In some contexts you can simply write
the aggregate (in this case (value => x, to => 1)) and it is obvious what
you are talking about. For example

   N : node := (value => x, to => 1);

is just fine because we obviously expect a node here. But if I just write

    x := new (value => x, to => 1);

then the allocator has no idea what you are talking about, since there is
nothing to say that this is a node. The qualified expression fixes this
a'b in general says, I have something of type a with the value computed by
the expression b.

So to fix the allocator we need

   x := new node'(value => x, to => 1);

and now the allocator knows what type of thing you are trying to allocate.



^ permalink raw reply	[relevance 19%]

* Re: Software Economics
  @ 2002-08-24 13:01 13% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24 13:01 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030147922.26232.comp.lang.ada@ada.eu.org>...

> There is no economic difference between the devastating effect on
> competition of a zero priced browser and a zero priced Ada compiler.

There is a no comparison between these situations. In one case, a
company is
making its product available at no cost to drive out a competitor by
subsidizing the effort with other products (Internet Explorer). In the
case of ACT, we absolutely definitely do NOT make our product (which
is a
fully supported Ada compiler, with guaranteed licensing suitable to
the
application area) available at no cost. In fact many of the threads on
CLA (including fulminations by Leif) complain that GNAT Pro is too
expensive!

> the second was done because of government support and ideology

That is complete nonsense, you simply do not know what you are talking
about.
Bob Leif is making wild guesses and wild statements without the
slightest awareness of what is going on.

The reason that we make versions of GNAT freely available has nothing
to do
with government support (which disappeared 7 years ago) or with
ideology.
The reason we do this is because we think it is the best strategy for
the
continued health of Ada, and thus for the continued success of Ada
Core
Technologies. So it's simply good business sense!

When Ada first came out, there certainly was no freely available
version of
Ada, and several companies tried to market low cost products. They all
failed.
So that's a data point that seems completely contradictory to your
thesis.

Second observation. There has always been a high quality free compiler
for C,
and these days for C++ as well. Do you think this has "devasated the
market
for these compiler technologies?" Of course not, to claim this would
be absurd.

The reason that we think it is critical to have a freely available
high quality
Ada compiler around is that it sparks interest in students, hobbyists,
and individual engineers who want to experiment. If no one knows about
Ada, then
who is going to buy *any* Ada technology? - answer no one. 

Yes, occasionally companies may use the public version of GNAT for
mission critical projects. We find that a dubious decision, since the
use of unsupported software with no assurance of correct licensing is
rather risky.
Few companies are willing to take this risk in practice. We don't see
that
as having a significant impact on the commercial market for Ada.

Robert Leif is frustrated that no one will sell him an inexpensive
supported
Ada compiler, and wants to blame the availability of the free version
of
GNAT, but he really has nothing to support his claim here, and all the
evidence
points in the opposite direction.

My own analysis: Inexpensive mass market products are possible only if
there
is a mass market. I don't think there is such a market for Ada tools
in the
current climate. No one has ever succeeded with this approach yet, and
I would
not expect them to have succeeded. 

The scale of things is just not right.

If you charge $1000 for a product, then you need to sell several
thousand
of them a year to support a reasonable development effort, but that's
still
far to expensive for many hobbyists. Now if you reduce the price to
$50, you
have to sell ten's or hundred's of thousands of copies a year, and I
just don't think the market begins to be there.

Furthermore, if you do try to use the mass market model, then you
simply can't
provide any kind of reasonable support, and our experience is that
serious
Ada projects really appreciate and need (and can afford) good support.

Robert Dewar
Ada Core Technologies

P.S. Yes, I know, I said I would not answer any more messages in this
thread,
but Bob Leif has a funny newsreader that keeps starting new threads
for no
obvious reason, so the threads won't stay killed :-)



^ permalink raw reply	[relevance 13%]

* Re: Ada 95 for an ARM-based bare board?
    2002-08-24  2:19 16%                           ` Robert Dewar
@ 2002-08-24  2:24 18%                           ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24  2:24 UTC (permalink / raw)


"Juha Valimaki" <juha.valimaki@xdsloy.com> wrote in message news:<ak4vaj$5g6$1@phys-news1.kolumbus.fi>...

> I am sure their support is extremely
> good, but it's hard to imagine how I would alone get enough advice from them
> to justify the cost (especially if I need binaries for N platforms).

One interesting piece of experience here is that when we started we
used to
have prices for 1 or 2 seats. We abandoned that. Why? Because it was
eating
us alive. These tiny projects used far far more of our support
services than
larger projects. Some people complain that they have to pay the same
for
one developer as five, but in fact if we priced according to
historical
data, we should charge more for one person than five.

That's actually not so surprising, one person working on their own is
indeed
all on their own, and thus they need help wherever they can get it,
whereas
even a small team will be able to help one another over many simple
problems.

It just maybe that your imagination is not good enough, and that in
fact you
would find that a support contract would easily justify its cost. Many
of our
customers *are* very small developers, and find our support services
extremely
useful and very much worth the cost.

This is of course something you have to figure out for yourself. If
the GNAT Pro product is not for you, have a look at offerings from
other Ada vendors.
You may well be able to find less expensive products that will meet
your
particular needs. There is a lively competition in the Ada market. It
is not
at all the case that GNAT is the only game in town :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 18%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-24  2:19 16%                           ` Robert Dewar
    2002-08-24  2:24 18%                           ` Robert Dewar
  1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-24  2:19 UTC (permalink / raw)


"Juha Valimaki" <juha.valimaki@xdsloy.com> wrote in message news:<ak4vaj$5g6$1@phys-news1.kolumbus.fi>...

> Yes, I agree with you. It's just shame that sometimes all users don't fit in
> the same business model. The two bad things I see in ACT business model is
> that (1) it makes it hard for other companies to offer cheap, but not free,
> Ada tools

No one ever succeeded at doing this who tried in the past, and the
attempts
at this all failed when there *WAS* no freely available version of
Ada. Perhaps it is because there is no mass market for Ada, perhaps it
is because
the people who tried before did it wrong. As to whether the
availability of
freely downloadable Ada systems helps or hurts, it is not at all
clear. We
think that it very much helps all segments of the Ada market to have a
high
quality Ada compiler that students, hobbyists, and indidual
enthusiastic
engineers can access. 

> and (2) it discriminates small development teams.

What an odd word to use. We don't discriminate against anyone, we
simply don't
serve all segments of the market. We succeed because we don't try to
be all
things to all people. Of course all users don't fit in the same
business model!
What get's companies in trouble is when they try to serve multiple
markets at
the same time and the markets get mixed up (consider the airlines
trying to
sell expensive seats to businesses and the same exact seats cheap to
tourists).

If there is a viable business in providing low cost products to small
development teams, then someone should by all means step in, but
please
don't expect Ada Core Technologies to serve all needs of the Ada
community.
We can't and we won't try.

We are Ada enthusiasts, and we immodestly believe that the continued
viability
of Ada Core Technologies, now with a complement of over 30 highly
experienced
engineers dedicated to the continued support and improvement of Ada,
is critical to the continued success of Ada.

We are thus very conservative in how we approach the market, and so
far this
conservative approach has paid off with steady (but modest and
manageable)
growth, through a period in which other less conservative high-tech
companies
have seen a huge boom-and-bust cycle.

We have increased revenues in the last year, and we have a comfortable
but
modest buffer in our bank account. We don't have zillions in stock
options,
and I am sorry to report that the CEO and other founders have not been
able
to cash out for millions of dollars, no doubt making us a failure in
the eyes
of some, but we are quite happy (and proud) to be succeeding in our
own style!

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 16%]

* Re: Software Economics was RE: Ada 95 for an ARM-based bare board?
    2002-08-24  1:58 17% ` Robert Dewar
@ 2002-08-24  2:05 18% ` Robert Dewar
    1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-24  2:05 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030114442.9877.comp.lang.ada@ada.eu.org>...

> The ultimate in unfair
> competition is to make your product available for free.

Well one would have to agree that if someone is making a product free,
subsidizing it from some other income source, that can be unfair
competition.

However, Robert Leif seems to have some completely bizarre view of how
Ada
Core Technologies operates that bares not even a slight resemblance to
reality.

Our product, GNAT Pro, is a high quality Ada compiler tool set, with a
direct
guaranteed licensed status from Ada Core, and with high quality
support, including immediate updates to correct problems, continual
enhancements in
response to customer needs, and special customization to meet the
needs of
customers.

Despite Bob's strange statements, this product is not free. In fact
there are
a fair number of threads on CLA from time to time complaining that we
charge
much too much for this product, and urging us to make some low cost
product
available.

Now this is not something we are about to do, but in fact, we are so
far from
a monopoly that if someone wants to compete with us and make some
other product
based around the GNAT core technology, they are free to do so!

Robert Dewar
Ada Core Technologies

I think the confusion is so great, that it is probably impossible to
cure :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 18%]

* Re: Software Economics was RE: Ada 95 for an ARM-based bare board?
  @ 2002-08-24  1:58 17% ` Robert Dewar
  2002-08-24  2:05 18% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-24  1:58 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030114442.9877.comp.lang.ada@ada.eu.org>...

> However, I am totally
> against anything that would decrease the value of intellectual property.

Bob Leif often writes bizarre things, but this thread is pretty off
the
wall even by that criterion.

First point, ACT is definitely in favor of maximizing the value of its
property. A company the size of ours (Ada Core and ACT/Europe between
them have over 40 full time employees) needs a considerable level of
income to support our activities and the ongoing development of GNAT
and its surrouding tools. 

Second point, the only difference between Microsoft and ACT is the
license
we use. We both sell licensed copyrighted software.

We use the GPL as our license because we think it maximizes the value
of
the product to our customers. We think restrictive licenses such as
those
used by Microsoft (and presumably by Bob Leif if in fact he is in the
business of selling software -- that's not clear to me) are bad
business because they
don't provide the customers with what they need.

We think it's good business to provide the customers what they need.

And the result of providing customers what they need is that we
prosper. So
we are using the GPL *because* it allows us to support our activities.

BL makes the absurd statement that GNAT is a monopoly. This shows a
level of
unawareness of the market that is truly staggering. In fact there is
fierce
competition in the Ada market, as anyone who is in fact involved in
the market
as a vendor or a procurer of Ada products knows perfectly well.

And that's the last you will here from me in this thread, since I
can't imagine
it going in a sensible direction.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 17%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-23 20:36 19% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-23 20:36 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1030068181.18207.comp.lang.ada@ada.eu.org>...

About 15 lines of stuff, clipped

> -----Original Message-----

About 35 lines of junk quotes


------------
This is a threaded news environment. It is definitely NOT necessary to
quote
entire articles that you are responding to. Just a couple of lines is
enough.
If people need more they can go look at the original which is right
there.

Please Robert (Leif) adjust your mailer (no doubt from our friends at
Microsoft) to NOT automatically quote the entire message.

I must say that I see an epidemic lately of

a) people including junk HTML attachments that are redundant copies of
messages. This of course serves no purpose, generates junk in many
environments, and constitutes a security risk.

b) people quoting entire messages all the time. The most aggravating
is when you get two people doing it at one another and generating
quadratic amounts of
quoted junk.

I gather that microsoft mailers are prone to encouraging people to
make these
two annoying mistakes. But they can be tamed. It is one thing for
ignorant users of computers to be stuck with inappropriate microsoft
defaults, but we
are supposed to be people who know something about computers :-)



^ permalink raw reply	[relevance 19%]

* Re: Decimal Floating types
  @ 2002-08-23  3:23 22%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-23  3:23 UTC (permalink / raw)


Richard Riehle <richard@adaworks.com> wrote in message news:<3D652A33.B5FE93B9@adaworks.com>...

> Actually,  the TO is not illegal, according to the syntax 
> chart in my closest-to-hand COBOL book.

Yes, but it is not used in practice, at least in my
experience, and I prefer to use typical style when I
quote COBOL (or any other language) :-)



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-23  3:14 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-23  3:14 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<2y%89.3154$wW7.204551567@newssvr14.news.prodigy.com>...
> Sticking with your core business leaves you with
> nothing more than your core business.

Which suits us just fine. We did not choose our corporate
name without quite a bit of thought :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-22 10:28 16%                     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-22 10:28 UTC (permalink / raw)


"SteveD" <nospam_steved94@attbi.com> wrote in message news:<LmX89.23476$aA.7706@sccrnsc02>...
 
> As I recall it was Tom Griest (not sure I have the 
> spelling right) that first made a Win32 port of GNAT 
> available.  Before it was available from ACT.
 
Yes that's right. And of course there may be someone who
is sure that the conditions are different, or that the
price was wrong, or that the product was premature, and
that everything is different now. Perhaps. Just because
Ada Core does not market something does not necessarily
mean it can't be marketed.

After all, no doubt one can make money selling halloween
costumes, but Ada Core Technologies is not in that business
last time I looked :-) And more seriously, we can't even expect to
cover all viable aspects of the commercial Ada
market. Successful companies specialize in what they are
good at. We consider our strength to be in providing high
level support for mission critical projects, since that's where we see
the major business opportunity. That's a totally different business
from going after a mass market. Even if the mass market is viable,
going after such a market is not something that fits our expertise and
business model.

This kind of specialization is definitely a key to success.
2001-2002 was a difficult period for many (almost all?) high tech
companies, but Ada Core Technologies has prospered during that period.
We have experienced steady growth for this period in both companies
(Ada Core Technologies and ACT/Europe) and we have a dedicated group
of people, who may not be getting rich with stock options,
but they are paid respectable and steady salaries :-)

I have run into a few people who are puzzled by our financial model,
because they don't see how the founders
expect to make big money out of the company. It's a sad
sign of the times that people assume this is the motive
for founding a company, and the founders, who are not
getting Enron-style-rich, but are also paid respectable and steady
salaries are quite content with the situation thank you :-)

Once again, the nice thing about Free Software is that we
don't lock up the market by stopping anyone else from using
or exploiting our technology. If someone thinks they can be
successful selling an inexpensive ARM port of GNAT to the
mass market, then I say go for it!

Robert Dewar
Ada Core Technologies

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 16%]

* Re: On accounting and engineering.(Slightly offtopic)
  @ 2002-08-22 10:01 17%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-22 10:01 UTC (permalink / raw)


"Randy Brukardt" <randy@rrsoftware.com> wrote in message news:<um7r10d6be2cdf@corp.supernews.com>...
> Adrian Hoe wrote in message <3d62faa5_2@news.tm.net.my>...
> ...
> >When you purchase a pc and a software package, you pay an amount of
> >money say ($20k, $10k for hardwrae and 10k for software). The
> >accountant will credit the bank/cash account but 20K does not go into
> >expenses. This is not expenses. This is an asset. Credit the asset.
> >Depreciation tells you how much residue value of your asset at the
> >time. Hardware usually has 40% of depreciation so that the equipment
> >can be fully depreciated on the book in 2.5 years. This is due to how
> >fast the computer technology advances. Almost every 9-18 months will
> >have new products coming. So, you will have something like:
> >
> >1st year hardware = $10K
> >2nd year hardware = $6K
> >3rd year hardware = $2K
> >3.5rd year hardware = $0
> >
> >
> >This issue is reflected diffrently in a developer and end-user company.
> >
> >For a developer, say you buy an Ada83 compiler in 1992 for $10K. But
> >in 1995, Ada95 becomes the new standard and you wish to migrate to
> >Ada95 and port all applications to Ada95. The moment you acquire Ada95
> >compiler and stop using Ada83 in 1995, the asset value (Ada83
> >compiler) becomes zero immediately. Why? Because you write it off from
> >your book. This becomes an expenses. Credit Asset and debit expenses
> >or depreciation. Within 1992 and a day before you acquire Ada95 in
> >1995, Ada83 compiler was your asset and it was registered in your
> >book. It is a different case for your Sun Workstation SPARC5 (for
> >example). You purchased it in 1992 at a price of $10K (for example).
> >In mid of 1995 (2.5 years), it has been fully depreciated. But if you
> >continue to use it, it is still your asset and the accountant will
> >re-value it at a much lower rate. This is true in the case of Ada83
> >compiler if you still continue to use it even after you acquire Ada95
> >compiler, but the value stays (because there is no dpreciation).
> 
> 
> If you are a large company and you try that sort of accounting, you go
> to jail (see Enron, Worldcom, et. al.) Hiding expenses as assets is
> frowned upon.
> 
> If you are a small company and you try that sort of accounting, you
> probably will end up either overpaying your taxes (expenses reduce your
> income and thus your taxes, assets do not) or paying significant
> penalties. (There is defined depreciation schedule for software for tax
> purposes.) Some companies keep separate books for tax and 'regular'
> purposes, but that appears sleazy at best.
> 
>                            Randy Brukardt.

> If you are a large company and you try that sort of
> accounting, you go to jail (see Enron, Worldcom, et. al.) 
> Hiding expenses as assets is frowned upon.

Legal advice is always dubious on this newsgroup. Appallingly ignorant
and incorrect legal advice is
really annoying. Randy, please don't guess about
things you know nothing about. You obviously have
not the foggiest idea how items are categorized
as expenses or assets. Of course hardware
acquisitions are assets and not expenses. All I
can say is that I hope

  a) you have a competent accountant taking care of
     this sort of thing for you.

  b) you don't pay attention to what the accountant
     is doing (note that if you were CEO of a big
     company that would be unwise since you have to
     certify the results).

In fact the situation is exactly the opposite. Trying to
treat assets as expenses would be tax evasion. This is
indeed the opposite kind of thing from what Enron was
doing, which was an attempt to maximize profits.

I suggest that everyone leave this sort of thing to
accountants and not pay any attention to what Randy or
I or anyone else says on a newsgroup which is supposed
to attract expertise in Ada rather than in accounting.

P.S. An entertaining story from quite a while ago with my
personal taxes was that I had listed hardware and software
items that were potentially deductible. My accountant set up to
depreciate the hardware over 5 years (the quickest
allowed, since I was not a company and could not use accelerated
depreciation, which I think is what the 2.5 years mentioned earlier in
this group is about). But when it came to software, he said "Well that
stuff is all junk,
you probably couldn't use any of it, we will write that
off and treat it as expenses, my shelf is full of completely useless
software that I have purchased!"

:-)



^ permalink raw reply	[relevance 17%]

* Re: Fill string with multiple lines from standard_input
  @ 2002-08-21 19:47 22%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-21 19:47 UTC (permalink / raw)


kcline17@hotmail.com (Kevin Cline) wrote in message news:<ba162549.0208210637.63f4f7cb@posting.google.com>...
> "Vincent Smeets" <No@Spam.org> wrote in message news:<ajrisv$lc9$03$1@news.t-online.com>...
> > I am working on a remote site and I want all my e-mail to be encrypted and
> > forwarded. I am writing a program that will create a new mail with an
> > attachment that contains the encrypted mail (with PGP).
> 
> Consider writing this in Perl.  You can probably learn enough Perl
> to do this job, and then write the code in less time than you will
> spend trying to get it to work in Ada.  My initial estimate is that
> you can do this in less than 100 lines of Perl.  There are already
> freely available Perl packages that understand mail and encryption,
> but in Ada you will have to write all that code from scratch.

That of course is completely wrong. Please do not take such statements in
posts to CLA as statements of fact, when mostly they just reflect what the
poster is or is not familiar with.



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
    2002-08-21 19:34 22%               ` Robert Dewar
  2002-08-21 19:40 19%               ` Robert Dewar
@ 2002-08-21 19:44 22%               ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-21 19:44 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajvqd1$1eh7ep$2@ID-77047.news.dfncis.de>...

> Unfortunately it is not an option in our case. We simply have not enough 
> resources for that.

Well if you are so sure it is a good business opportunity, you should be
able to get people to provide the resources.



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
    2002-08-21 19:34 22%               ` Robert Dewar
@ 2002-08-21 19:40 19%               ` Robert Dewar
    2002-08-21 19:44 22%               ` Robert Dewar
  2 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-21 19:40 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajvqd1$1eh7ep$2@ID-77047.news.dfncis.de>...
> Robert Dewar wrote:

> [How somebody could have a "hard evidence" that something will be?  (:-))] 
> Anyway to be important /= to be important to Ada. AFAIK, ARM is already 
> important. A minimal requirement for making it important for Ada is to have 
> a compiler for it.

Very simple, if someone comes to us and says: "I want/need an Ada
compiler
and I would like to see you guys do a GNAT port and I am willing to
pay for
the product," then that will get our attention.

If someone says "Well I am sure that if you write a compiler and sell
it inexpensively, then masses of people will flock to buy it," then
frankly
we won't listen. It's not our business area. Companies can't do
everytyhing.

It may be that there is a real business opportunity there, who knows?
At Ada
Core, we are dubious (partly because we have seen more than one
company try
this approach and fail), but competition is all about people having
different
views. When Tom tried to sell low cost copies of the Windows version
of GNAT,
we were happy to cooperate with him, but unfortunately he just did not
find
enough customers to make it worth while.

So if you folks really think ARM is important and that you can take
the embedded world by storm with a GNAT port for the ARM, go ahead. No
one is
stopping you!

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 19%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-21 19:34 22%               ` Robert Dewar
  2002-08-21 19:40 19%               ` Robert Dewar
  2002-08-21 19:44 22%               ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-21 19:34 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajvqd1$1eh7ep$2@ID-77047.news.dfncis.de>...

> True, but should not it? From my point of view it could be a very good time 
> for Ada there. People are starting to use multitasking, wireless 
> communication etc in their embedded systems. To have a 32-bit controller is 
> no more cosidered too expensive. Shouldn't we use this situation?

Sounds like you believe this is a great business opportunity 
So why not persue it?



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-21 19:32 20%                   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-21 19:32 UTC (permalink / raw)


Ole-Hjalmar Kristensen <oleh@vlinux.voxelvision.no> wrote in message news:<7vlm70cqcz.fsf@vlinux.voxelvision.no>...
> > And preferably pay up front for the develoment of the compiler....  OK
> > strategy if you sell few expensive development systems, probably not a
> > good strategy to penetrate the mass market.

Not necessarily, ACT has developed many ports of GNAT at our expense, but
only when we know there is a real market out there (well a couple of times
we have skipped that step and got burned).

Indeed we are not trying to "penetrate the mass market". That's not our
business area. Our expertise is in providing high level support from high
level competent engineers. We don't see that as scaling to a mass market.

The world seems full of people who are happy to spend lots
of energy in trying to get Ada Core to move in that direction, but sadly
none of these people seem willing to spend their own energy persuing a
market that they are sure we are missing!

Robert Dewar
Ada Core Techonologies



^ permalink raw reply	[relevance 20%]

* Re: Ada 95 for an ARM-based bare board?
      2002-08-20 18:29 19%           ` Robert Dewar
@ 2002-08-20 18:32 22%           ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20 18:32 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajt1ae$1ebok8$1@ID-77047.news.dfncis.de>...
> Robert Dewar wrote:

> I can undestand that Java platform is not so damn promising to support 
> JGNAT.

I am not quite sure what has got you so upset here that you indulge in such
excessive language :-)

But for the record all *sorts* of people were absolutely convinced that the
JGNAT arena would be an important commercial opportunity for the Ada community :-)



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
    @ 2002-08-20 18:29 19%           ` Robert Dewar
    2002-08-20 18:32 22%           ` Robert Dewar
  2 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-20 18:29 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajt1ae$1ebok8$1@ID-77047.news.dfncis.de>...
> Yes, it looked to me as if neither you nor other vendors are convinced that 
> [strange] ARM platform will have any considerable success. Your answer 
> shows that it is true, at least in case of ACT. Exactly this is strange 
> from my perspective. There are lots of Ada ports for PowerPC, there is one 
> even for a radiation-hardened something (:-)). And there is no one for ARM. 
> At the same time no less than 80% of the customers we are dealing with, are 
> using or are planing to use ARM.

We are not in the guessing game, and also not in the business of
believing
those who say without hard evidence that platform xxx will be
important for
Ada. It's quite simple, if we have some real customers who are
seriously interested, then a port will appear. There is some sign that
this may happen
for the ARM, but nothing definite enough to announce yet :-)

> Yes of course. However note that almost none of our customers will ever 
> show any interest. They know nothing about Ada and even less about ACT.

OK, so your customers are indeed irrelevant to us. And therefore what
they
do or do not plan to do is not significant. Yes, sure I know there are
those
who say "you should make a port for xxx, maybe that will generate
interest".
Well that kind of speculation is not for us, but the nice thing about
an
open technology like GNAT is that if someone thinks that, and is
confident
that Ada Core Technologies is missing the boat, then there is nothing
stopping
anyone from building the missing port :-)

> I can undestand that Java platform is not so damn promising to support 
> JGNAT. But just out of curiosity, does ACT really believe that ARM will 
> never ever used as an embedded platform? What is ACT expectance of sharing 
> the embedded market between PowerPC, x86 and ARM? X:Y:0?

The embedded market in general does not necessarily reflect likely Ada
usage.
Right now, most embedded Ada work is either on the power PC or the 68K
with
some limited amount of x86 work.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 19%]

* Re: Decimal Floating types
  @ 2002-08-20  0:26 22%         ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-20  0:26 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message news:<3D5E5E14.5010405@cogeco.ca>...

> >    ADD FIELD-1 TO FIELD-2 GIVING FIELD-3.

ouch! I have been away from COBOL for too long, this
should of course be

       ADD FIELD-1 FIELD-2 GIVING FIELD-3



^ permalink raw reply	[relevance 22%]

* Re: Information Systems Annex (usefulness of Decimal Floats)
  @ 2002-08-20  0:25 17% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20  0:25 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029611105.24616.comp.lang.ada@ada.eu.org>...
> From: Robert C. Leif
> To: Robert Dewar et al.

> Decimal fixed point is sufficient only if you have a 
> common intermediate
> reference, such as the Dollar, Euro, or gold. However, 
> one can get into
> a combinatorial catastrophe employing multiple conversion 
> factors.

Sorry, this just seems like FUD. I have written a lot of
financial code of some complexity in COBOL, and never run
into any requirement like this. And as I pointed out before
clearly the COBOL community has not considered this a problem or this
facility would have been provided. Remember
that fixed-point can always be used for any calculations
if you are willing to worry carefully about scaling.

> Complex scientific and engineering calculations require a 
> floating type. I still believe that given the existence 
> of gigahertz processors, that
> there is a benefit in performing calculations in the most 
> human understandable format, decimal. 

This is wrong for two reasons.

1. The efficiency hit on modern processors between binary
floating-point (IEEE 754) and simulated decimal floating
point (IEEE 854) is simply huge. Probably a factor of 200
in practice at least, perhaps more with modern pipelined
machines. That means your gigahertz processor is crawling
along at the equivalent of 5 megahertz (like the original
PC-1), totally hopeless for "complex scientific and engineering
calculations".

2. There are no gains in practice over binary floating-point. Yes, it
may avoid surprises for naive users, but naive users of floating-point
should be banned
from doing "complex scientific and engineering calculations" since
they will make a complete mess of it.
Such applications [I have even more experience in that
sphere] require a proper understanding of how floating-point works,
and how errors propagate, and there is nothing inherently better about
decimal fpt.

The one area where decimal fpt has turned out to be an advantage is in
hand held calculators, where abysmal performance does not matter at
all, and you avoid surprises for naive users :-)

Note that once you start talking about "complex scientific
and engineering" applications, you have completely shifted
the sphere of argument away from the subject material. This has
nothing whatever to do with the Information Systems Annex.



^ permalink raw reply	[relevance 17%]

* Re: Point of Information was RE: POLL: Would you use Ada more if...
  @ 2002-08-20  0:17 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20  0:17 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029611162.24654.comp.lang.ada@ada.eu.org>...

> From: Bob Leif
> To: Robert Dewar et al.
> At the Microsoft store and picnic, there were T shits for 
> sale by Microsoft.


Yes, but this is not to make money for Microsoft, this is
a publicity effort :-)

Actually we give away our stuff (mugs, frizbies, mouse pads
etc) rather than seeling them :-)



^ permalink raw reply	[relevance 22%]

* Re: 64-bit integers in Ada
  @ 2002-08-20  0:15 22%                             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20  0:15 UTC (permalink / raw)


"AG" <ang@xtra.co.nz> wrote in message news:<UjC79.5960$hk3.1112693@news.xtra.co.nz>...

> To be consistent, should not it be:
> 
> subtype String_Index is String_Count range 
> String_Count'First + 1 .. String_Count'Last;
> 
> Otherwise you are assuming that counting starts from zero (or one).

Actually this seems a poor suggestion, your rewrite does
not emphasize that the lower bound of strings starts at 1.



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-20  0:13 20%       ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-20  0:13 UTC (permalink / raw)


Dmitry A.Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<ajqde0$1d7l8m$1@ID-77047.news.dfncis.de>...
> [ I do not know the background, but for people outside, like me, the 
> situation with Ada for ARM looks indeed very strange. AFAIK, customers are 
> actively starting to use ARM as a new embedded platform. Noticeably that 
> many are ready to drop old code to have a TCP/IP option etc. So it is 
> really a good time to say - look we have something better (Ada) for you. 
> But ... ]


What's strange? If we developed ports of GNAT everytime
someone said to us: "You really should develop a port of
GNAT for xxxx, I am sure people would be ready to buy
that product," we would have GNAT ports for all sorts of
strange machines and environmemts, but very few actual
customers for these targets :-)

The situation with ARM is no different from any other GNAT
target, there will be an Ada Core Technologies port of GNAT
to the ARM if and only if there is sufficient commercial
interest to provide the necessary funding for the technical
work involved.

Robert Dewar
Ada Core Tecnologies



^ permalink raw reply	[relevance 20%]

* Re: Ada -> .NET effort in progress
  @ 2002-08-20  0:09 19% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20  0:09 UTC (permalink / raw)


"Marc A. Criley" <mcq95@earthlink.net> wrote in message news:<3D60D8F6.C2F1F35@earthlink.net>...
> Since I'm hesitant to just go and post another's email, despite it being
> sent out on a public list, I'll just provide a pointer to the archived
> message instead:


One think that Martin says in that mail is

<<3) I think the failure of JGNAT was not technical, but demand-based.
 If ACT
 had a customer base that wanted the technology, you can bet they'd
proceed.
 Follow the $$.  Lately I've spent a fair amount of time in the JGNAT
 sources, and they are quite technically sound.>>


I don't regard JGNAT in any sense as a failure. This was
a DoD funded project that most definitely achieved its
purpose, which was to demonstrate that it was feasible
to adapt GNAT to generate JBC, and to provide a GPL'ed
version of this technology to the community.

Both these objectives were certainly achieved.

Now if you are disappointed that ACT no longer continues further
(unfunded) development of this project, well that
indeed reflects a complete lack of commercial interest.
Certainly ACT devotes its own internal resources to projects in which
the commercial market is interested,
and that will continue to be the case.



^ permalink raw reply	[relevance 19%]

* Re: Fill string with multiple lines from standard_input
  @ 2002-08-20  0:03 22%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-20  0:03 UTC (permalink / raw)


dennison@telepath.com (Ted Dennison) wrote in message news:<4519e058.0208190540.3f183c65@posting.google.com>...
> err...have a look about 3 posts back. He tried that first, but it was
> translating line terminators on him (or at least he said it was...).

I saw nothing unexpected happening. Line terminator translation is not
something that happens at the Ada I/O
level!



^ permalink raw reply	[relevance 22%]

* Re: best way to handle long strings!?
  @ 2002-08-19  0:53 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-19  0:53 UTC (permalink / raw)


"AG" <ang@xtra.co.nz> wrote in message news:<1oF79.6034$hk3.1116470@news.xtra.co.nz>...
> "Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message
> news:3D5D0D64.9070601@nbi.dk...
> 
> > If you
> > are going to edit Ada source code, which is line based
> 
> Pardon me? Ada "line based" ?


I think it is fair to call Ada line based

Pragmatically, of course Ada sources are files of lines.

The standard talks of line breaks, and suggests laying
out the source in a definite line oriented manner.

Furthermore, RM 2.2(2) says

  The text of a compilation is divided into lines.

So I think the Pardon me? here is quite uncalled for :-)



^ permalink raw reply	[relevance 21%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-19  0:50 21%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-19  0:50 UTC (permalink / raw)


Preben Randhol <randhol+ada@pvv.org> wrote in message news:<mailman.1029660061.17623.comp.lang.ada@ada.eu.org>...
 
> By bying a software product you don't necessarily buy any 
> support. If you want good support you buy from a company 
> that sells support.

Yes, indeed that's a reasonable model. Unfortunately, all
too often proprietary licensing models mean that you are tied to the
original vendor for ever when it comes to support.

At Ada Core Technologies, we know very well that people
could compete with us on GNAT support, and very likely
will compete if we don't do a good job. That keeps us
working hard to provide good support :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 21%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-17 18:00 17%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 18:00 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnalsatm.2g5.randhol+abuse@kiuk0152.chembio.ntnu.no
 
> Yes, but if the license is the same? :-)

If you download something from the net, it is up to you
to verify that it is properly licensed. You can't just
assume that because something says it is licensed under
the GPL that it is. Three examples:

1. Someone steals microsoft code and puts it on the net
with a GPL notice. That in no way protects you if you
illegally copy it and use it.

2. Someone modifies a version of a standard GPL tool
with non-GPL'ed code, but the tool still looks like it
is GPL'ed. This in no way protects you if you illegally
copy it and use it.

3. Someone puts out a GPL'ed tool, and in good faith
thinks that it is all their own work and they can issue
a valid GPL, but in fact there are copyright or patent
issues. You are compeltely responsible for any difficulties
if you download this.

By comparison if you get software from a company with whom
you have an executed license agreement, then that other
company is taking responsibility for ensuring that the
license is valid, and that they are entitled to issue the
license, and you are protected.

It's quite a big difference. I often find that people do
not realize that when they download something from the net,
they have to take 100% responsibility on themselves for
ensuring that there are no IPR violations.

And to remember again, the appearence of a copyright or
license statement on the artifact itself has no legal
significance, you are not entitled to rely on this information for legal protection.

So back to your original question. The license may or may
not be "the same", but the big difference is that in one
case you take responsibility, in the other case, you sign
a contract with another company and that other company
takes responsibility.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 17%]

* Re: stupid question: how can I finish a program?
  @ 2002-08-17 15:58 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 15:58 UTC (permalink / raw)


"Marin D. Condic" <not.valid@acm.org> wrote in message news:<ajdnjb$k2k$1@nh.pace.co.uk>...

> There is no "shoot this process in the head
> right this instant and I really mean it!" instruction in 
> Ada. Not a "standard" one, at least. Not one that will 
> work with all possible Ada programs.

That's misleading. Aborting the environment task will work.
However, in the real world, we seldom have Ada programs,
instead we have mixtures of Ada and various libraries and
foreign languages, and in this case, you can't depend on
anything predefined in Ada to work, and the issue of immediate
termination becomes somewhat system dependent.



^ permalink raw reply	[relevance 22%]

* Re: Ada 95 for an ARM-based bare board?
  @ 2002-08-17 15:55 22%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-17 15:55 UTC (permalink / raw)


Steffen Huber <steffen.huber@gmx.de> wrote in message news:<3D5CC272.629E243@gmx.de>...
> "Dmitry A.Kazakov" wrote:
> > Is there any vendor?
> 
> Not that I know of. However, as GCC can target ARM, it 
> should be "easily"
> possible to build at least a cross compiler.

Please contact sales@act-europe.fr to learn the latest
status of a GNAT port to the ARM.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-17 15:53 20%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 15:53 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7velcy6m3h.fsf@pushface.org>...
> I work in a company very like those and we have had no 
> trouble from our accountants buying support from ACT (and 
> I'm fairly sure we don't have a physical box even yet, 
> could be wrong there).

Well I am not sure when your support contract started, but
we definitely mail off handsome blue boxes with a CD ROM
and printed manuals. Generally people get started by
downloading from the Ada Core Technologies site, so it
is possible you have not got your box yet, but you 
definitely should receive it, so if you don't contact
sales@gnat.com or sales@act-europe.fr and ask where your
box is :-)

Seriously, we do find that people like to have printed
manuals, especially to get started. Of course the printed
manuals do get out of date, as does the CD ROM in the box,
but they are a good starting point and the blue box looks
very nice on the shelf!

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 20%]

* Re: Information Systems Annex was RE: Dispatching and generics -
  @ 2002-08-17 14:17 22%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 14:17 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7vadnm6lo2.fsf@pushface.org>...
> dewar@gnat.com (Robert Dewar) writes:
> 
> > That really was a small part of the motivation behind
> > the change, Britain's monetary system was a real mess
> > before the change, with crowns, guineas and pounds all
> > in simultaneous use as the primary currency unit.
> 
> As I remember it the _practical_ unit was the half-crown 
> (crowns were
> only issued to celebrate significant events).
> 
> What about the florin!

Well the florin and half crown were actual coins, but
certain dept instruments were denominated in crowns, and 
auctions were always in guineas (so I am talking about
financial transactions, that computers had to be prepared
to deal with, not names of coins).



^ permalink raw reply	[relevance 22%]

* Re: best way to handle long strings!?
       [not found]     <c923f575.0208150903.5ac6b098@posting.google.com>
  @ 2002-08-17 10:57 22% ` Robert Dewar
    1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-17 10:57 UTC (permalink / raw)


jonas.gasser@dataflow.ch (drmed) wrote in message news:<c923f575.0208150903.5ac6b098@posting.google.com>...
> hi,
> 
> for example: for a texteditor or sourceditor is it usefull to use the
> unbounded strings? and to put all lines in one string? or is there a
> better method to handle this?


Putting all the data in one long unbounded string is a
perfectly frightful choice. Almost anything else would
be better.



^ permalink raw reply	[relevance 22%]

* Re: Information Systems Annex (usefulness of Decimal Floats)
    2002-08-17 10:54 21%     ` Robert Dewar
@ 2002-08-17 10:56 22%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:56 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message news:<3D5D1EA5.1040406@cogeco.ca>...

> One recent example of this, was the Euro conversion,
> where we had to do those triangulation computations 
> (three currencies were involved). You have a broad range 
> of values between British pound and the Turkish Lira, for 
> example.

Sorry, I don't see this. Were you writing in COBOL? I would
guess not. In COBOL, this calculation is easily done in
decimal fixed point (and in Ada you could do the same
thing :-)



^ permalink raw reply	[relevance 22%]

* Re: Information Systems Annex (usefulness of Decimal Floats)
  @ 2002-08-17 10:54 21%     ` Robert Dewar
  2002-08-17 10:56 22%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:54 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message news:<3D5D1EA5.1040406@cogeco.ca>...
> Robert Dewar wrote:
> > "Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029282844.28090.comp.lang.ada@ada.eu.org>...
> "Useless" is extreme. There are situations where decimal 
> floating point is useful in computing financial values, 
> but normally as intermediate results.

For intermediate results, decimal floating-point offers no
particular advantages over binary floating-point. Indeed
the proposal carefully considered by CODASYL, but as far
as I know not adopted, was to require the use of IEEE
64-bit binary floating-point arithmetic for calculation
of intermediate results in COMPUTE.

Note that in general the COBOL style is not to use COMPUTE
but rather to carefully control the intermediate precision
of each step, in which case floating-point offers very little advantage if any.



^ permalink raw reply	[relevance 21%]

* Re: Decimal Floating types
  @ 2002-08-17 10:52 20%     ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-17 10:52 UTC (permalink / raw)


"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message news:<3D5D2529.8070501@cogeco.ca>...
> But for COBOL it means using
> library calls directly instead of a more natural 
> "mathematic expression", whatever that be in COBOL ;-) 

As I mentioned in my previous message, it is not usual
to use COMPUTE at all in COBOL, so the difference is 
between

   ADD FIELD-1 TO FIELD-2 GIVING FIELD-3.

and

   CALL DEC-FLOAT-ADD USING FIELD-1 FIELD-2 FIELD-3

Now to be fair, it will be a bit annoying that for the
CALL, these fields have to be defined in a particular way,
but the requirement for decimal floating-point is marginal
in any case, so one can live with this perfectly well.

> To a maintenance programmer, there is nothing worse than
> difficult to read code: library support for floating
> decimal in COBOL does precisely this, AFAIK. It solves
> one problem and creates another. 

You exaggerate. Probably because of "lack of knowledge of
modern COBOL" :-)

Seriously, I don't see any significant maintenance problem
here. COBOL programmers use libraries all the time.



^ permalink raw reply	[relevance 20%]

* Re: Fill string with multiple lines from standard_input
  @ 2002-08-17 10:24 22%         ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-17 10:24 UTC (permalink / raw)


dennison@telepath.com (Ted Dennison) wrote in message news:<4519e058.0208161130.6c77138c@posting.google.com>...

> Yeah, but its an Ada.Text_IO.File_Type. Stream_IO can 
> only deal with files it can open by name itself.

You are confusing stream input-output and the package Stream_IO, have
a look at Ada.Text_IO.Text_Streams.
Seems like you have missed a major and important language
feature!



^ permalink raw reply	[relevance 22%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-17 10:16 21%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:16 UTC (permalink / raw)


Preben Randhol <randhol+news@pvv.org> wrote in message news:<slrnalps90.50s.randhol+news@kiuk0156.chembio.ntnu.no>

> If you buy M$ Office or some other program you don't have 
> any warrenties nor can you call M$ and complain if 
> something doesn't work. It puzzels
> me why accountants/lawyer still think that. 

Maybe because they know something you don't? There is no
such thing as a product with no warranties at all. You
might want to investigate the controversy over the new
proposed uniform commercial code for software that moves
in this direction, but has only been adopted in two states.
You are also assured that the product you are using is
properly licensed for your use.



^ permalink raw reply	[relevance 21%]

* Re: POLL: Would you use Ada more if...
  @ 2002-08-17 10:14 22%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:14 UTC (permalink / raw)


"Juha Valimaki" <juha.valimaki@xdsloy.com> wrote in message news:<3d5d6c93$1_6@news.newsgroups.com>...

> IMO value of GNAT is in the product, not in a CD or 
> manuals. I am willing to pay _ACT_ for anything (CD, 
> manuals, t-shirt, coffee mug...)

There must be some confusion here. Like Microsoft, we are
a software company, we sell software and support services
for that software, we are not in the t-shirt or mug business!



^ permalink raw reply	[relevance 22%]

* Re: POLL: Would you use Ada more if...
    @ 2002-08-17 10:12 22%             ` Robert Dewar
      1 sibling, 2 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:12 UTC (permalink / raw)


Preben Randhol <randhol+news@pvv.org> wrote in message news:<slrnalpv63.5k9.randhol+news@kiuk0156.chembio.ntnu.no>...
> Well if you download GNAT (Public) or some other program 
> then you say "I've spent $0 on software" and the 
> accountant will smile from ear to
> ear and get big dewy dollar symbols in his eyes whilst 
> drooling. ;-) 

Of course your lawyers (who want to be assured of proper
licensening) and your software folks (who want to be assured of
support) may not drool quite so much :-)



^ permalink raw reply	[relevance 22%]

* Re: POLL: Would you use Ada more if...
      @ 2002-08-17 10:11 20%           ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-17 10:11 UTC (permalink / raw)


john.nospam@nospamassen.nospamdemon.co.uk (John McCabe) wrote in message news:<3d5cfa8e.16958234@news.demon.co.uk>...

> If you go to your [large] company's accountat and say 
> "there you go,
> I've spent $1000 on software" and they say, "well, where 
> is it?" and
> you say "it's a file on my PC" what do you think they're 
> going to say
> to that?

Please don't invent problems where none exist. This is
almost never a problem in practice. One or two times out
of hundreds of customers, we have had to ship a box with
a CD ROM, and indeed now we always ship a box with a 
CD ROM, but not because of any accountants, but rather
we think people like to have a nice set of printer manuals
and a box!

Going back to accountants. Suppose you work for an airline
and you tell the accountant that you have just signed a
1.7 million dollar order for maintenance of front wing
doohickeys, do you think the accountant is concerned there
is no physical box. Of course not :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 20%]

* Re: Information Systems Annex was RE: Dispatching and generics -
  @ 2002-08-16 15:49 20%       ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-16 15:49 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) wrote in message news:<r1usDG7Y2QvO@eisner.encompasserve.org>...

> They make the government change it to a decimal-based 
> system to suit computers.

That really was a small part of the motivation behind
the change, Britain's monetary system was a real mess
before the change, with crowns, guineas and pounds all
in simultaneous use as the primary currency unit. Also
the introduction of VAT really means that you want it
to be easy (for people) to compute percentages.

It also makes comparison shopping much easier.

As for computers, they could handle the old stuff just
fine, and indeed my uncle worked for Plesseys where
one of their early computers had registers implemented
with

   a row of decatrons  (for the pounds)

   a binary device and a decatron (for the shillings)

   a duodecatron (12 state decvice) for the pence

:-)
(this was a tube machine, where decimal devices made some reasonable hardware sense)



^ permalink raw reply	[relevance 20%]

* Re: Information Systems Annex was RE: Dispatching and generics - language lawyer question
    2002-08-15  9:26 22% ` Robert Dewar
@ 2002-08-16 15:38 16% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-16 15:38 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029282844.28090.comp.lang.ada@ada.eu.org>...
 
> Since I have never worked with binary fixed-point types, > please forgive
> a naive question. Would the same capacity to create types 
> with exponents
> at run-time be of any use or is this equivalent to 
> floating-point?

I had not noticed this earlier, but in fact this may account for a lot
of the issues here. Bob, I am not sure
you understand what fixed point is all about in COBOL or
in Ada, and that may explain things. There is of course
no exponent for fixed-point numbers, static or otherwise.
They are simply scaled integers, and the arithmetic is
scaled integer arithmetic.

The request for decimal floating-point is a completely
orthogonal issue. Just as binary floating-point has nothing
whatever to do with with binary fixed-point from a 
representation point of view, it is the case that decimal
fixed-point has nothing to do with decimal floating-point.

Doing my best to guess what you are thinking here. I suspect that you
are assuming that decimal fixed point
representation is like floating point but with a fixed
exponent (which you have called static), and that leads
to your confusing discussion of allowing this exponent
to be dynamic.

But there *is* no exponent at all in decimal fixed-point
so this viewpoint is unhelpfully confusing.

Fixed-point in Ada is just like Fixed-point in COBOL or
PL/1. In all three languages we are just talking about
scaled integer arithmetic, so if you write

   type Money is delta 0.01 digits 10;

then you are just asking that values of type Money be
stored in pennies. So that if you write

   M : Money := 34.56;

then M contains the integer 3456

Note that it does not matter for most practical purposes
whether this integer is stored in binary or decimal, since
that will not affect any calculation results. In GNAT we
normally store such values in binary. There is some work
towards supporting IBM mainframe compatible packed decimal
for the purposes of interfacing with COBOL, but no one ever
showed any interest in this, so this work was not completed
(see i-pacdec if you are interested in looking at this
partial work -- indeed i-pacdec can be used directly from
user code, but the idea was to have the compiler generate
calls for arithmetic on decimal fixed-point represented
in decimal form).



^ permalink raw reply	[relevance 16%]

* Re: Decimal Floating point was RE: Information Systems Annex was RE: Dispatching and generics - language lawyer question
    2002-08-16 15:26 18% ` Robert Dewar
@ 2002-08-16 15:29 19% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-16 15:29 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029448502.10542.comp.lang.ada@ada.eu.org>...
> From: Bob Leif

> Since intermediate values in a calculation how a low 
> frequency of being
> printed out, the simplest solution to digits is to leave 
> it at a fixed
> value.

This is also incomprehensible in the Ada context. In PL/1
and in COBOL, the precision and scaling of intermediate
results is not explicit. In PL/1 there are implicit rules
which turn out to have very surprising effects, and are
generally considered a signal failure.

In COBOL, intermediate precision is implementation defined
and as a consequence most COBOL coding standards forbid the
use of COMPUTE, with the possible exception of

   COMPUTE A = B ** C

since the exponentiation operator is only available in the
COMPUTE verb. But in this case there is no intermediate
result so all is well.

In Ada, we have a much better design where the programmer
is forced to specifically give the precision and scaling
of all intermediate results where an issue arises (addition
and subtraction do not present a problem, it is division
and multiplication that cause trouble).

So I don't understand your comment about intermediate
values in the context of Ada fixed-point.



^ permalink raw reply	[relevance 19%]

* Re: Decimal Floating point was RE: Information Systems Annex was RE: Dispatching and generics - language lawyer question
  @ 2002-08-16 15:26 18% ` Robert Dewar
  2002-08-16 15:29 19% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-16 15:26 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029448502.10542.comp.lang.ada@ada.eu.org>...
> From: Bob Leif
> To: Robert Dewar et al.
> 
> Since Ada has a function Ada.Unchecked_Conversion(S : 
> Source) return Target; she does permit a change in types. 

Yes, but with implementation defined effects!

In the case of the delta, I
> am proposing what I hope is much less extreme. I want to tell the
> compiler to accept a non-static number as a static number. Since this is
> not a type change but the change of a property of a type,

Once again Bob, this is compeltely incomprehensible. A
"number" is not static or non-static in Ada, an expression
is static or non-static. See the rules in 4.9, and please
try to express what you have in mind in a comprehensible
manner using Ada terminology. If you can't do that, perhaps
you can provide a complete, even if vague example, and we
might be able to figure out what you have in mind.

It seems that you have some confusion between exponent and
delta in your mind. They of course are quite different
concepts. 

It is of course possible to change the delta of a number,
and if you want variable scaling (perhaps that is what you
are talking about) the easiest way is just to use conversions.

Remember that fixed point in Ada is nothing more than scaled integer
arithmetic. You can always do scaling yourself.

So what I would propose you do to illustrate your idea (which may have
merit, I can't tell, I don't have the
foggiest idea what it is), is to first program it manually
doing the scaling yourself.

Then imagine some syntactic sugar to help you with the
scaling. and illustrate the desired sugar.





 I do not know
> how to do this? 
> 
> 
> -----Original Message-----
> From: comp.lang.ada-admin@ada.eu.org
> [mailto:comp.lang.ada-admin@ada.eu.org] On Behalf Of Robert Dewar
> Sent: Thursday, August 15, 2002 2:32 AM
> To: comp.lang.ada@ada.eu.org
> Subject: Re: Information Systems Annex was RE: Dispatching and generics
> - language lawyer question
> 
> "Robert C. Leif" <rleif@rleif.com> wrote in message
> news:<mailman.1029362042.2405.comp.lang.ada@ada.eu.org>...
> > Since virtually all of these decimal types will be 
> > intermediates in a
> > calculation, they could all have the same number of 
> > digits.
> 
> I really have no idea what the above means.
> 
> > The delta is
> > the problem.
> 
> Ditto
> 
> 
> > My crude workaround was to turn a non-static number into 
> > a static number by either a pragma or a method.
> 
> And double ditto here. Robert please explain at least vaguely what you
> have in mind. What on earth does it mean
> to turn a non-static number into a static number. You are
> certainly not using the term static in the Ada sense, or
> in any other common sense that I can guess.
> 
> > However, I would be happy
> > with a decimal floating type. 
> 
> This seems to be of very marginal use to me. Certainly not
> something to build into the language. If you need such a
> facility, just program it, that's easy enough, Yes, it
> will be inefficient, but no more or less inefficient than
> if it is put in the language, since obviously no machines
> support this at the hardware level, and all the compiler
> would do is call runtime routines anyway. So all you are
> talking about here is a minor bit of syntactic convenience
> for a feature with very limited use. Hardly a good candidate for a
> language extension.



^ permalink raw reply	[relevance 18%]

* Re: Decimal Floating types was RE: Information Systems Annex was RE: Dispatching and generics - language lawyer question
  @ 2002-08-16 15:21 17% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-16 15:21 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029448504.10558.comp.lang.ada@ada.eu.org>...

> Since COBOL does not have a decimal floating point, COBOL 
> programmers, who still do most of the financial 
> applications, have not had a chance
> to try it!.

And why do you suppose COBOL does not have this? It is
because the COBOL standards committee does not consider
it worth adding. What does Robert Leif know that the
committee does not :-)

The point is that in financial calculations, you either
want absolute error control, e.g. in computing yields of
bonds, where very often the instruments specify the exact
algorithm in terms of fixed-point decimal.

Or you want approximate results rounded. There is no
requirement for mathematically accurate rounding for
decimal floating-point that I am aware of, so in practice
if you are doing approximate calculations, it is just fine
to do things in binary with sufficient precision and then
round the binary to decimal. Yes, there are marginal cases
where the double rounding can lead you to be "off" by 1 ulp
but there are no situations where this would matter.

Furthermore, as I noted before, there is no point in embedding such a
feature into the language. If you want
decimal floating-point, just use a library, there are many,
that supply this capability and make calls to this library.
That's what the compiler would do anyway.

COBOL programmers can perfectly well use such libraries.
COBOL is perfectly capable of calling library routines!

This seems a perfect example of a "requirement" generated
out of the blue, without full understanding of the actual
problem space.

The COBOL committee has been extremely adventurous in
extending the language (the COBOL object model is for
example more ambitious than that of C++ or Ada). If there
was the slightest good argument for adding decimal floating
point to the language, it would have been seriously considered.



^ permalink raw reply	[relevance 17%]

* Re: Fill string with multiple lines from standard_input
  @ 2002-08-16  0:25 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-16  0:25 UTC (permalink / raw)


"Vincent Smeets" <No@Spam.org> wrote in message news:<ajgrfb$uo2$05$2@news.t-online.com>...
> Thanks,
> 
> This will give me a Stream_Element_Array. Is it possible to read it directly
> in a String or do I have to convert every element to a character in a
> string?

Just leave it as a Stream_Element_Array and work with it
in that form, that sounds like the best idea to me. You
still have not given the foggiest idea why you are trying
to do this (which is what has suggested to some that this
is a homework assignment, in which case your assignment is
to figure out the answer :-)

If it is not a homework assignment you will get much more
effective help if you explain your problem, rather than 
asking about specific possibly inappropriate solutions.



^ permalink raw reply	[relevance 21%]

* Re: stupid question: how can I finish a program?
  @ 2002-08-15 18:41 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-15 18:41 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<gPG69.5381$Ot1.248134805@newssvr13.news.prodigy.com>...
> But it doesn't accomplish the "murder the kids, then 
> yourself" multi-task suicide.

Of course it does (read the RM!)

> What are the important differences between the 
> environment task aborting itself vs having it execute:
>   declare
>     Emergency_Exit : exception;
>   begin
>     raise Emergency_Exit;
>   end;

Obvious difference: only the environment task can usefully
do the latter, whereas anyone can abort the environment
task (i.e. any task).



^ permalink raw reply	[relevance 22%]

* Re: Information Systems Annex was RE: Dispatching and generics - language lawyer question
  @ 2002-08-15  9:31 19% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-15  9:31 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029362042.2405.comp.lang.ada@ada.eu.org>...
> Since virtually all of these decimal types will be 
> intermediates in a
> calculation, they could all have the same number of 
> digits.

I really have no idea what the above means.

> The delta is
> the problem.

Ditto


> My crude workaround was to turn a non-static number into 
> a static number by either a pragma or a method.

And double ditto here. Robert please explain at least vaguely what you
have in mind. What on earth does it mean
to turn a non-static number into a static number. You are
certainly not using the term static in the Ada sense, or
in any other common sense that I can guess.

> However, I would be happy
> with a decimal floating type. 

This seems to be of very marginal use to me. Certainly not
something to build into the language. If you need such a
facility, just program it, that's easy enough, Yes, it
will be inefficient, but no more or less inefficient than
if it is put in the language, since obviously no machines
support this at the hardware level, and all the compiler
would do is call runtime routines anyway. So all you are
talking about here is a minor bit of syntactic convenience
for a feature with very limited use. Hardly a good candidate for a
language extension.



^ permalink raw reply	[relevance 19%]

* Re: Information Systems Annex was RE: Dispatching and generics - language lawyer question
  @ 2002-08-15  9:26 22% ` Robert Dewar
      2002-08-16 15:38 16% ` Information Systems Annex was RE: Dispatching and generics - language lawyer question Robert Dewar
  1 sibling, 2 replies; 200+ results
From: Robert Dewar @ 2002-08-15  9:26 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029282844.28090.comp.lang.ada@ada.eu.org>...
> Ada decimal types (as currently defined) are fixed-point
> types.
> 
> Are you asking for decimal floating-point?


Decimal floating-point would be quite useless in financial
applications as far as I can see (COBOL does not have this
facility). What you need in financial calculations is decimal
fixed-point, and very occasionally (this has only
recently been included in the COBOL standard) binary fpt.



^ permalink raw reply	[relevance 22%]

* Re: stupid question: how can I finish a program?
    @ 2002-08-15  1:47 22%   ` Robert Dewar
    1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-15  1:47 UTC (permalink / raw)


Wes Groleau <wesgroleau@despammed.com> wrote in message news:<3D59BB4C.AA21BDA@despammed.com>...
> > Since it is quite common to terminate a commercial program after an
> > exception is raised, it would be quite useful if Ada 200? would include
> > a standard procedure for this.

Seems redundant, just abort the environment task, that's
the simplest suicide model.



^ permalink raw reply	[relevance 22%]

* Re: Visibility of private packages??
  @ 2002-08-14 17:03 22%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-14 17:03 UTC (permalink / raw)


Dale Stanbrough <dstanbro@bigpond.net.au> wrote in message news:<dstanbro-E13D57.19534014082002@news-server.bigpond.net.au>...
> has Gnat implemented it?). 
> I tried it out on the Mac port (which calls itself GNAT 
> 5.00w)
> but it objected.
> 

We have no current plans to implement this extension (it is
not something for which we have had any demand).

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: GNAT/Ada95 Streams Performance Issue
  @ 2002-08-13 21:11 22%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-13 21:11 UTC (permalink / raw)


Larry Hazel <lhhazel@otelco.net> wrote in message news:<3D590D80.201@otelco.net>...
> Robert,
> After reading your reply and trying to remember what I did, I think the byte SIO 
>   program was the first attempt and not very fast.  I vaguely remember doing 
> something with direct io and large arrays of bytes for the program that was 
> faster than cp.
> Larry


That certainly makes more sense. The trouble is of course
that with Direct_IO you can't deal nicely with the last
partial block (you are also depending very much on impl
dependent choices in how Direct_IO works).

Stream_IO should have the speed advantage without these
disadvantages.



^ permalink raw reply	[relevance 22%]

* Re: GNAT/Ada95 Streams Performance Issue
  @ 2002-08-13  8:25 22%     ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-13  8:25 UTC (permalink / raw)


Larry Hazel <lhhazel@otelco.net> wrote in message news:<3D585F63.6010205@otelco.net>...

> Somewhere around 1990, I wrote a simple file copy program 
> using Sequential_IO on 
> files of bytes.

Note that there is no portable way of doing this in either
Ada 83 or Ada 95. In practice, instantiating SIO for type
Character would probably work.

> This was using the Verdix Ada 83 compiler on a Sun.  I 
> did this as a test  because C people kept telling me how 
> slow Ada was.  I wanted to see for myself. 
> It was consistently faster than the unix cp command.

Hard to believe, and if true, simply a comment on a truly
appalling implementation of cp.

> I suspect there was a 
> lot of buffering going on behind the scenes.

That's not enough to account for this surprising result!



^ permalink raw reply	[relevance 22%]

* Re: JGNAT status??? (Volunteers?)
  @ 2002-08-13  8:23 20% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-13  8:23 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029204062.16204.comp.lang.ada@ada.eu.org>...
> From: Bob Leif
> To: Ant?io Vargas et al.
> You might try another approach. Ask how many of us would 
> pay some
> reasonable amount, $50 to $100 for a copy of JGNAT. To 
> add to my heresy,

I don't see any heresy there. If you think that's a viable
economic model, why don't you put your money where your
mouth is and give it a go? :-)

> I would suggest a version of JGNAT that worked with 
> Microsoft's intermediate language. 

That's technically confused. What distinguishes JGNAT from
the regular version of GNAT is code that depends entirely
on the structure and details of the JVM.

A version of GNAT that generated .NET compatible pseudo-code would be
a completely new project (requiring
effort of the order of person years from people who knew
what they were doing). Yes, perhaps you could derive some
useful input, and even possibly *some* copied code from JGNAT, but in
no sense would this be a "version of JGNAT".

A version of GNAT generating code for .NET is certainly
a perfectly reasonable idea. So far however we have seen
zero interest/demand in such a product.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 20%]

* Re: Information Systems Annex was RE: Dispatching and generics - language lawyer question
  @ 2002-08-13  8:17 21% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-13  8:17 UTC (permalink / raw)


"Robert C. Leif" <rleif@rleif.com> wrote in message news:<mailman.1029204063.16221.comp.lang.ada@ada.eu.org>...
> One problem with the
> Information Systems Annex is that it was to some extent 
> based on COBOL,
> particularly, the picture clause.

To me that is a strength. After all, most financial software is still
written in COBOL, and the picture
clause in particular is one of the successful features
of that language. I think the reason for the lack of
use of Ada in the IS field has nothing whatever to do
with technical features in fact.

> I also believe that a way around the static requirement 
> for Ada decimals should be created.

I have no idea what this means

> I still would like to use the slide-rule formula to
> calculate the exponent. Would a pragma To_Static be 
> possible?

I have no guess as to what this might mean
 
> -----Original Message-----

Robert, please don't quote entire original messages when
it is completely irrelevant to do so. Stop your mailer
or newsreader from doing this!



^ permalink raw reply	[relevance 21%]

* Re: GNAT question
  @ 2002-08-12 23:51 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 23:51 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<feT59.1623$4P6.69518450@newssvr14.news.prodigy.com>...
> I notice that hex F4 appears differently when displayed 
> in text mode
> (eg: type f.txt) or in Windows mode

Well yes of course. The result of displaying the character
F4 of course depends on the code page or font used.



^ permalink raw reply	[relevance 22%]

* Re: GNAT/Ada95 Streams Performance Issue
  @ 2002-08-12 23:49 22%   ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 23:49 UTC (permalink / raw)


hebisch@math.uni.wroc.pl (Waldek Hebisch) wrote in message news:<aj8j3t$bmn$1@panorama.wcss.wroc.pl>...

>         loop
>                 Ada.Text_IO.Get_Line( Line, Last );
>                 Ada.Text_IO.Put_Line( Line(1..Last) );
>         end loop;

This is nothing *like* a "raw cat" program, it has quite
subtle semantics that you likely do not intend :-)

The proper way to do a big copy is with Stream_IO. The
design of Text_IO is definitely not suitable for large
scale file operations.



^ permalink raw reply	[relevance 22%]

* Re: JGNAT status??? (Volunteers?)
  @ 2002-08-12 23:47 22%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 23:47 UTC (permalink / raw)


antoniovargas@oninet.pt (=?ISO-8859-1?Q?Ant=F3nio_Vargas?=) wrote in message news:<d808281d.0208120523.62f9567c@posting.google.com>...

>   This is just a question not a compromise.

It is impossible for me to guess as an english speaker
what you had in mind with this sentence. For sure you
are seriously misusing the word compromise. How about
trying again to make your meaning clear :-)



^ permalink raw reply	[relevance 22%]

* Re: Floating point representation-help
  @ 2002-08-12 23:43 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 23:43 UTC (permalink / raw)


"David C. Hoos" <david.c.hoos.sr@ada95.com> wrote in message news:<mailman.1029157742.20629.comp.lang.ada@ada.eu.org>...

> However, performing a computation with such a value as an
> operand should raise an exception.

No, that's wrong you are making up rules that do not exist.
Remember that Float is an unconstrained type!



^ permalink raw reply	[relevance 22%]

* Re: Dispatching and generics - language lawyer question
  @ 2002-08-12 12:44 21%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 12:44 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> wrote in message news:<1028303374.179416@master.nyc.kbcfp.com>...

> I think that the GNAT creators would disagree with you.
> As far as I know, they make corresponding Ada and C++
> objects layout compatible. Perhaps one of them will
> explain why.


That's a bit confused. The layout of tagged types in
GNAT is defined by the body of the run-time unit Ada.Tags.
Whether this corresponds or not to some particular C++
compiler depends on whether you tailor Ada.Tags
appropriately. 

In practice, the only significant use of the tight C++
binding of objects and tagged types in GNAT was by SGI
for some of their graphics packages, otherwise I don't
think the feature has been used. 

(there are lots of things in GNAT that are very interesting
but don't get used, e.g. the entire Information Systems
Annex :-)



^ permalink raw reply	[relevance 21%]

* Re: Google error?, was Re: GNAT question
  @ 2002-08-12 12:39 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 12:39 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<nYG59.4230$5%1.157129951@newssvr21.news.prodigy.com>...

This may possibly be a Google error, but in any case
it is really silly to post a thread with such a silly
subject line. A proper subject line on this would be
something like

"query on accented character display with GNAT"

or somesuch. Far too many threads in CLA have very
poorly chosen subjects!



^ permalink raw reply	[relevance 22%]

* Re: GNAT question
  @ 2002-08-12 12:37 22%   ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-12 12:37 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<nYG59.4229$5%1.157129951@newssvr21.news.prodigy.com>...
>   Are you saying that your source file contains a string 
> containing a hex F4, but when you print that you get 
> something other than F4?


No, of course he is not saying this! The issue is most 
likely a code page issue on the PC, but how can we tell
since we do not have the information we need.



^ permalink raw reply	[relevance 22%]

* Re: GNAT question
  @ 2002-08-12  2:56 21% ` Robert Dewar
      1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-12  2:56 UTC (permalink / raw)


lab.stihler@unidavi.edu.br (Fred Stihler) wrote in message news:<c5dec41e.0208111459.40b26938@posting.google.com>...
> Im starting to learn Ada, I dont know how to configure the compiler to
> work the way I want. Does anybody knows how do I do to be able
> generate apps that output special characters? I tried to compile a
> simple program that prints "Al� Mundo" but when I run it, the
> character � doesnt appear. It prints a strange character. what must I
> do?

The first thing you must do is learn how to ask questions
on the newsgroup properly. Start a new thread with a proper
subject, don't append a reply to a completely irrelevant
thread about how to write OS level stuff using GNAT.

The second thing you must do is to say exactly what system
you are using, both the machine and operating system and
compiler.

The third thing is you should read the documentation. For
instance if you are on a PC using GNAT, you need to read
what the users manual has to say about character sets in
this environment.



^ permalink raw reply	[relevance 21%]

* Re: FAQ and string functions
  @ 2002-08-05  2:16 15%                         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-05  2:16 UTC (permalink / raw)


Darren New <dnew@san.rr.com> wrote in message news:<3D4D551F.190A19C0@san.rr.com>...
> I don't think you want to recurse a million times to read 
> million lines of text from the terminal. I really suspect 
> you don't want 1.5 million lines of text on the stack,
> either.

A very strange statement indeed. Using recursion to read
a million lines of text is perfectly natural, and with
a decent compiler that does tail recursion elimination,
you will get identical code for loops and for simple
recursion (recursive languages like Haskell absolutely
require this optimization of course). It is simply a
matter of taste whether you like the syntactic sugar
of a looping construct. That's all a loop is, syntactic sugar for tail
recursion.

>  I.e., if you have something
> > > that's difficult to program in a functional style.

None of the examples you give are even vaguely in this
category (unless you have difficulty programming in a functional
style, in which case the statement is sort of
vacuously true :-)

> A lexical analyzer is a simple parser. (I'm a bit of a 
> formalist, ya see, so
> I tend to mean the technical definitions when I use the 
> technical words.)

Well then unless you intend to emulate Humpty-Dumpty in
Alice, please use technical defintions the same way as
the rest of the world.

It is absolutely standard in the world of compilers to
draw a sharp distinction between lexical analysis, typically based on
type 3 (regular) languages, and parsing, typically based on type 2
(context free) languages.

It is *distinctly* unhelpful to use the term parsing for
the former, and will simply confuse other people. If that
is your goal, fine you will succeed, but if you are a "bit
of a formalist" then you will want to use formal terms in
their accepted meaning if you want to be understood.

> That's a good point, and something that's hard to do in 
> many other languages. However, it's really not enough. 
> For example, implement the Ada.Strings.Unbounded package 
> using only recursion to allocate record sizes. I haven't 
> tried, but I don't think it would be easy, even if 
> possible.

Of course it's possible, and easy if you have a reasonable
familiarity with writing in a recursive style. I always
like to give my students the task of writing programs in
a procedural language avoiding the use of assignments and
loops. It is definitely useful to learn familiarity with
recursion as a style of programming. I am not in favor of
forcing everyone to use ONLY this style, but I do find that
people overuse imperative constructs.

In particular, people very much overuse variables, and do
not make sufficient use of constants that are computed 
once, a powerful feature in Ada. 

(digression. I prefer Algol 68 to Ada in this respect. In
Algol-68, it is easier to write a constant declaration

    int a = expression;

than to write an initialized variable

    ref int a = loc int := expression;

and even in the shortened form:

    int a := expression;

is one character longer than the constant. In Ada, we have
to write an extra keyword to make things constant, so the
lazy path is to make an unnecessary variable)

Back on topic: the latest version of GNAT at least warns
if you write

   X : type := expression;

and never modify X (the compiler warns that you could
make this declaration into a constant declaration).

But it does not go so far as warning that if you write

   X : type;
   ..
   X := expression; 

where there are no other assignments to X, that X could
be made into a constant initialized with the expression
(the conditions for that are harder to figure out)


>  
> > But Ada programmers should teach themselves to work with perfectly sized
> > constant strings where feasable, as that's the language's native idiom.
> 
> Agreed. And it's easier to do in Ada than it is in C. But that doesn't make
> Ada a good string-processing language compared to something like Perl or
> Tcl. :-) It's clearly a difficult idiom, given the number of newbie
> questions about how to do it I see here. Once you're used to doing it that
> way, yes, it can be done that way. I'm not disputing that.
> 
> Anyway, this horse is a greasy spot on the sidewalk. You can have the last
> word. :-)



^ permalink raw reply	[relevance 15%]

* Re: 64-bit integers in Ada
       [not found]                               ` <5ee5b646.0208040607.ebb6909@posting.googOrganization: LJK Software <PG2KS5+doDWm@eisner.encompasserve.org>
  2002-08-05  1:44 19%                             ` Robert Dewar
@ 2002-08-05  1:48 20%                             ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-05  1:48 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) wrote in message news:<PG2KS5+doDWm@eisner.encompasserve.org>...
> 	2. This consideration is vastly outweighed by a 
>          body of more important items that deserve their
>          intention.
           ^^^^^^^^^
Nice typo, I assume you mean attention :-)

Actually, this kind of short range thinking (sorry I am too
busy to learn how to do things right, I have too much to
worry about) is really inappropriate to the Ada world and
the world of serious software engineering. I can't tell you
how many projects have a heck of a time porting legacy code
because programmers have not given attention to the issue of writing
portable code earlier on. Note that portable
code is code that is easily able to be ported. That does
NOT mean having stupid rules like "no use of unchecked
conversion". What it does mean is careful encapsulation
of dependencies, and avoidance of gratuitous non-portabilities (such
as using type Standard.Integer :-)



^ permalink raw reply	[relevance 20%]

* Re: 64-bit integers in Ada
       [not found]                               ` <5ee5b646.0208040607.ebb6909@posting.googOrganization: LJK Software <PG2KS5+doDWm@eisner.encompasserve.org>
@ 2002-08-05  1:44 19%                             ` Robert Dewar
  2002-08-05  1:48 20%                             ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-05  1:44 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) wrote in message news:<PG2KS5+doDWm@eisner.encompasserve.org>...
> Let's cure _all_ such individuals, by standardizing on 
> 4096 bits as the size for Standard.Integer :-)

Actually I think the rule of avoiding using explicit
references to Integer is pretty well established. yes,
you see occasional shops that violate this rule, but not
many (in our experience of seeing code from hundreds of
serious projects using Ada).

Actually the above would almost warrant presentation without a smiley
(as a way of effectively removing the
injudicious Standard.Integer type from the language if
it were not for the darned cross contamination with
type String.

What I would have done for the Ada design is to have only
*one* predefined type which would be called something like

   type String_Index is range 1 .. Implementation_Defined;

and leave all other integer types out of standard. I think
that would have worked better, and people would not have
"misused" String_Index as they occasionally misuse Integer.

I feel differently about Float incidentally, I think it is
reasonable to have predefined Float and Long_Float types.
It is simply asking too much for all useful fpt library
packages to be generic since they can't easily speak to
one another if you do that.



^ permalink raw reply	[relevance 19%]

* Re: [ot... well kindof] SDI
  @ 2002-08-05  1:26 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-05  1:26 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<Uee39.5912$i_1.69723273@newssvr21.news.prodigy.com>..
>   Is there anywhere else Ada questions might be 
> appropriate? 

Ada questions are always appropriate, but I am not sure
that general questions in a software engineering course
necessarily qualify, which is why I emphasized that this
group is about technical Ada issues. A question on an Ada
issue of course qualifies!

I don't see any point in a separate newsgroup for newbie
questions, there aren't that many of them here, and people who could
answer accurately are unlikely to hang out on
that other group (even in the main CLA, we get plenty of
inaccurate answers which can be confusing to experts let
alone newbies :-)



^ permalink raw reply	[relevance 21%]

* Re: using pragma export/adainit/adafinal with gnat...
  @ 2002-08-04 14:24 19%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-04 14:24 UTC (permalink / raw)


Dale Stanbrough <dstanbro@bigpond.net.au> wrote in message news:<dstanbro-1852AF.07432903082002@news-server.bigpond.net.au>...

> Indeed! (unless you -always- have pure packages).

There is nothing to guarantee that pure packages have
no elaboration code in the informal sense of the word.
There is some requirement in Annex C about not generating
memory write operations after load time, but load time is
implementation defined, so this is a dubious requirement.
There isn't even a definition of what a memory write
operation might be, that's just appealing to some informal
undefined concept. 

Whenever a requirement in the RM uses an undefined term,
the requirement is immediately dubious.

In GNAT, we have added

pragma Restrictions (No_Elaboration_Code);

to clearly pin down the issue of whether any code is
generated (in stuff we add for GNAT, we can be more informal than the RM :-)

Really the stuff about elaboration code should have been
implementation advice, then it could have been both clearer
and stronger.

An interesting thing about implementation advice is that
in practice, IA can often be stronger than a formal
requirement, since we are allowed to say what we mean
in informal, but perfectly clear terms.



^ permalink raw reply	[relevance 19%]

* Re: JGNAT status??? (was: Re: Help: Problem with JGnat)
  @ 2002-08-04 14:18 22%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-04 14:18 UTC (permalink / raw)


"Dr. Michael Paus" <paus@ib-paus.com> wrote in message news:<3D4BF8EB.8020908@ib-paus.com>...
> "This" meant to release the CURRENT sources IFF there 
> already exists a version which fixes the problems with 
> recent Java versions. As you stated that such a version 
> does not exist "this" has become meaningless :-(

Right, if someone wants this fixed, they should work on
fixing it, probably not that hard for someone who knows
the Java VM well.



^ permalink raw reply	[relevance 22%]

* Re: [ot... well kindof] SDI
  @ 2002-08-04 14:16 22% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-08-04 14:16 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<Tv_29.3543$UD1.24013@newsfep3-gui.server.ntli.net>...
> Hi,
> 
> Can I post my answers here for someone to take a look at 
> them? 

The only posts appropriate to this newsgroup are specific
technical discussions of Ada or Ada related issues. If one
of your questions raises specific Ada issues then it is
reasonable to post here, not otherwise.



^ permalink raw reply	[relevance 22%]

* Re: 64-bit integers in Ada
  @ 2002-08-04 14:07 16%                           ` Robert Dewar
       [not found]                               ` <5ee5b646.0208040607.ebb6909@posting.googOrganization: LJK Software <PG2KS5+doDWm@eisner.encompasserve.org>
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-04 14:07 UTC (permalink / raw)


Richard Riehle <richard@adaworks.com> wrote in message news:<3D4C2805.62563584@adaworks.com>...
> I assume you are talking about Standard.Integer.   If so, > this
> would not correspond to the way software is so frequently
> written for these machines.   In particular, for I-8051
> platforms, it would introduce a potential inefficiency 
> and
> force the programmer to explicitly declare a shorter
> integer (absent the availability of
> Standard.Short_Integer).

First. I trust we all agree that new Ada code should
almost NEVER EVER use type Integer, except as the
index of the String type.

To talk of the programmer being "forced to declare a shorter integer"
is very peculiar, since this is nothing
more than good Ada style. If this approach helps persuade
incompetent programmers to adopt better style -- GOOD!

Second. In fact legacy code does tend to over use Integer.
So in practice when acquiring or porting legacy code, this
may be an issue, but this is *precisely* the case where
making Integer 32 bits can be appropriate, because most
of that badly written code that uses type Integer will
have assumed that integer is 32 bits.

However, the issue of unwanted overhead on the String
type is an issue (too bad these got intertwined in the
original design).
 
> Since we often counsel designers to specify their own
           ^^^^^
I trust this is a typo for *always*

> numeric types anyway, this is probably not a hardship, 
> but it could be troublesome for an experienced I-8051 
> programmer who expects 16 bit integers.

I don't understand, is this "experienced I-8051" programmer
an experienced Ada programmer. If so, he has no business
using Standard.Integer. If not, and he is writing Ada in
C style, then perhaps the choice of 32-bit integers will
help cure this bad practice.

> Consider, for example, that simply
> pushing a 16 bit entity on the stack requires storing two
> eight-bit stack entries.   To store a 32-bit integer
> would
> take four stack entries.   The corresponding inefficiency
> would be intolerable for most I-8051 applications.

Yes, but it is also intolerable for this experienced
I-8051 programmer to be using Standard.Integer explicitly.

 
> One reason I like Ada is because we can define our own
> numeric types.

Exactly, so what's the issue.

> Though there are few machines still 
> extant that use storage multiples of other than 
> eight-bits,  they
> do still exist.   I think the compiler for the Unisys 
> 11xx
> series has a word size of 36 bits.  Randy can correct me
> on that if I am wrong.

Yes, of course it's 36 bits (that was a port of Alsys
technology with which I am familiar).

 
> Don Reifer recently told me that one reason Ada was becoming
> irrelevant, and his reason for recommending against its use for
> new projects, was that it is not sufficiently flexible to support
> the new kinds of architectures in the pipeline.

This is complete and utter nonsense. Where on earth does
Reifer get these crazy ideas?

> Though I disagree
> with him on this assessment,  forcing the language to 
> correspond
> to a single word-size architecture (read 32 bits) would 
> be
> play into his flawed view of Ada's value for new 
> software.

I find this completely puzzling. Given that in Ada code
we always define the integer types we want, the standard
forces nothing.

Well we still have the tie in with Integer and String, 
and that is worthy of discussion, but this business of
claiming that Ada is flawed because incompetent programmers
misusing Standard.Integer might get an integer size they
do not expect is really not a sustainable argument.

Indeed a good argument can be made that the type Integer
should never have been introduced in the first place. It
is an unnecessary concession to C and Fortran programmers.



^ permalink raw reply	[relevance 16%]

* Re: creating a 16 bit value from 2 8 bit values in Ada
  @ 2002-08-03 14:37 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-03 14:37 UTC (permalink / raw)


Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov> wrote in message news:<uwur96s19.fsf@gsfc.nasa.gov>...
 
> One advantage of this version is it should take no code. 

No, it is probably much less efficient, because it forces
things into memory.


> One drawback
> is you have to get the byte-endianness right.

A big drawback. This is definitely not the right approach.



^ permalink raw reply	[relevance 22%]

* Re: JGNAT status??? (was: Re: Help: Problem with JGnat)
  @ 2002-08-03 14:36 21%         ` Robert Dewar
      0 siblings, 2 replies; 200+ results
From: Robert Dewar @ 2002-08-03 14:36 UTC (permalink / raw)


"Dr. Michael Paus" <paus@ib-paus.com> wrote in message news:<3D4B982D.7010100@ib-paus.com>...
> Yes, a new public version of the current JGNAT sources 
> could be great.

We have no plans for any further work on JGNAT


?> if it is true that a version exists which runs on Java 
> 1.3+.
. 
It is false. There were indeed filed bugs in this area, but
they were never solved.

> Maybe we can convince ACT to consider
> this.

What is "this"? Doing more work on JGNAT? That's not going
to happen. The sources are out there, the first task would
be to update them to be compatible with the GNAT 5 sources
at gnu.org. That might be an interesting project, but it is
not something that Ada Core will be able to help with.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 21%]

* Re: 64-bit integers in Ada
  @ 2002-08-03 12:24 18%                       ` Robert Dewar
      0 siblings, 2 replies; 200+ results
From: Robert Dewar @ 2002-08-03 12:24 UTC (permalink / raw)


"Marin David Condic" 

> so having the requirement is not a
> bad thing. 

Here is why I think it *is* a bad requirement.

No implementation would possibly make Integer less than
16 bits. None ever has, and none ever would. Remember that
the only really critical role of integer is as an index
in the standard type String (it was a mistake to have string tied in
this way, but it's too late to fix this)

No one would make integer 8 bits and have strings limited
to 127 characters. 

If you are worried about implementors making deliberately
useless compilers, that's a silly worry, since there are
lots of ways of doing that (e.g. declaring that any
expression with more than one operator exceeds the capacity
of the compiler).

So why is the requirement harmful? Because it implies that
it is reasonable to limit integers to 16 bits, but in fact
any implementation on a modern architecture that chose 16 bits for
integer would be badly broken.

As for implementations for 8-bit micros, I would still make
Integer 32 bits on such a target. A choice of 16-bit integer (as for
example Alsys did on early on) would cause
giant problems in porting code. On the other hand, a choice
of 32-bit integers would make strings take a bit more room. I would
still choose 32-bits.

Anyway, I see no reason for the standard to essentially encourage
inappropriate choices for integer types by adding a requirement that
has no practical significance whatever.

This is an old old discussion. As is so often the case on
CLA, newcomers like to repeat old discussions :-)

This particular one can probably be tracked down from the
design discussions for Ada 9X.



^ permalink raw reply	[relevance 18%]

* Re: Help: Problem with JGnat
  @ 2002-08-02 18:37 22%     ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-02 18:37 UTC (permalink / raw)


"Marc A. Criley" <mcq95@earthlink.net> wrote in message news:<3D4A7C39.2AF0BA8@earthlink.net>...

> I've heard that the last supported version of JGNAT worked okay with
> 1.3, but I know of no access to that version.  In addition, ACT has
> terminated support for JGNAT  :-(  Business decision on their part, for
> which I can't blame them--their intent is to make a profit, after
> all--but I really liked the concept and had been heavily using the
> public version.  Oh well.

Not so much an issue of making a profit, as one of not losing lots of 
$$$ on this product. Unfortunately there was very little commercial
interest.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: Erroneous execution? (was Re: gnat: time-slicing)
  @ 2002-08-02  4:17 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-02  4:17 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcck7name3h.fsf@shell01.TheWorld.com>...
> > Bob-
> > 
> > Are you sure this is erroneous?
> 
> No...

Yes, of course it's erroneous. I think you meant to say
"are you sure that the RM precisely says that it is
erroneous". That's a different question, whose answer
is not particularly interesting :-)

> >  But I believe
> > the intent is as I indicated.

No, the intent is that this be erroneous, nothing else
makes sense.



^ permalink raw reply	[relevance 22%]

* Re: Reemergence of predefined equality operator...
  @ 2002-08-01 12:06 19%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-08-01 12:06 UTC (permalink / raw)


Vincent Marciante <marciant_remove@earthlink.net> wrote in message news:<3D488F3D.6186@earthlink.net>...
> If overriding of predefined "=" was disallowed in the 
> future (not practical?) wouldn't that solve the problem 
> well?   Is that really really not practical?

Of course that's not practical. Do you really think vendors
would pay any attention if the Ada design went berserk and
started adding gratuitous non-upward compatible changes?
Remember that it is possible to redefine "=" in Ada 83
as well.

A criterion for Ada 95 was no non-upwards compatible changes (unless a
VERY good argument could be given,
e.g. optional package bodies and the (<>) generic
stuff, where Ada 83 was clearly broken).

That criterion has to be applied even more strongly
for any future revisions to Ada. 

One thing to be careful of is that current proposals for
revisions to Ada are coming mostly from hobbyists and language
designers, not from actual users writing large
application programs. That means one needs to be even more
cautious in countenancing changes.

Actually in practice, I think any new "Ada0X" will be no
more than a list of suggestions for enhancements and new
ideas. I think there will be almost no commercial pressure
to implement such a new standard in some validated form
for the forseeable future (after all, look how long it took
for the C standard to take hold).



^ permalink raw reply	[relevance 19%]

* Re: 64-bit integers in Ada
  @ 2002-07-31  0:13 19%       ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-07-31  0:13 UTC (permalink / raw)


Richard Riehle <richard@adaworks.com> wrote in message news:<3D46DC69.7C291297@adaworks.com>...
> Robert,
> 
> We still have quite a few embedded platforms for which 64 bit
> integers are not supported. 

There is no reason for hardware support here, even the ia32
does not have hardware support, but 64-bit integers are
very useful and must be supported, just as floating-point
MUST be supported even on processors with no floating-point.

>  We would like to be able to use
> Ada 95 for them, so a requirement for a language feature that
> is not supported would be meaningless.

gcc supports 64-bit integers on virtually all processors
including 8-bit microprocessors.

> Also, there has been
> some discussion, in the past, about support for eight-bit
> microcontrollers such as the I-8051 family.   I am sure 
> some compiler developer would find it very entertaining 
> to design an Ada compiler with 8051 64 bit integers,

Not so much entertaining, but rather quite straightforward.

> but also  quite useless.

Not at all! If your application requires 64-bit integers,
e.g. long durations measured in nanoseconds, then you have
to have this facility, and it is far better that it be
provided by the compiler, rather than having to cook up some half
baked software multiple precision support which
is likely to be FAR less efficient, and certainly far less
convenient.

Once again, in a language which requires all implementations to
provide floating-point, it seems a trivial additional effort to
provide 64-bit integer support.

Note that if anyone bothers to port GNAT to an 8-bit microprocessor
currently supported by GCC, then the 64-bit integer support will come
for free.

> Richard Riehle



^ permalink raw reply	[relevance 19%]

* Re: Multiple interface inheritance workaround in Ada 95 / Ada 0x   to satisfy a Java language advocate?
  @ 2002-07-30 20:55 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-30 20:55 UTC (permalink / raw)


Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote in message news:<1cickuo7c6qhqnpgi5lhtg9tdt6m1nbpuc@4ax.com>...

> I believe the answer is yes, however Ada community is yet not ready to
> accept this fact.

Just possibly there is a difference between a fact and something that
Dmitry believes :-)



^ permalink raw reply	[relevance 22%]

* Re: Zeller's Algorithm
  @ 2002-07-30  4:35 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-30  4:35 UTC (permalink / raw)


Thomas Wolf <t_wolf@angelfire.com> wrote in message news:<MPG.17af1b07795920d8989693@news.ip-plus.net>...


> Zeller's *algorithm* does work for dates in the Gregorian calendar.

What is the reference for this algorithm. I learned it as a child (it is
something you can learn to compute in your head quite easily).



^ permalink raw reply	[relevance 22%]

* Re: 64-bit integers in Ada
    @ 2002-07-30  4:29 20%   ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-30  4:29 UTC (permalink / raw)


Victor Giddings <victor.giddings@ois.com> wrote in message news:<Xns925A758E8FB6Avictorgiddingsoiscom@192.84.85.25>...
> 
> Try using (or deriving from) Interfaces.Integer_64 or Integer.Unsigned_64. 
> Admittedly, this requires 2 steps on the part of the compiler developer. 1) 
> actually support the 64-bit integer type. 2) to put it in Interfaces (as 
> required by B.2(7)). However, we rely on this in our CORBA product 
> implementation and have been making sure that the compiler vendors are 
> adding these types when they are supported. 
> 
> As of now, I know of only one compiler that supports 64-bit integers and 
> doesn't define Interface.Integer_64. That is to be remedied very soon.

I don't understand the point of this advice. What does this gain over just
declaring the type you want. Either construct will be rejected if the compiler
does not support 64 bit integers. 

Actually there is no requirement in the RM that a compiler that supports 64-bit
integers must have this declaration there. On a 36-bit machine like the PDP-10
you would expect to find Interfaces.Integer_72, but not Interfaces.Integer_64.

I would also argue that it is dubious to expect Interfaces.Integer_64 on a
32 bit machine. Are 64 bit integers "supported by the target architecture?"
Well it's arguable.

Far simpler to use

   type I64 is mod 2 ** 64;

if that's what you want!



^ permalink raw reply	[relevance 20%]

* Re: GNAT documentation question
    2002-07-30  4:18 21%     ` Robert Dewar
@ 2002-07-30  4:21 20%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-30  4:21 UTC (permalink / raw)


Mark Johnson <mark_h_johnson@raytheon.com> wrote in message news:<3D458108.A5D88B80@raytheon.com>...

> The source of course is where you hide these obscure details. I should
> have expected you to make this kind of comment. :-)

Well I am not sure that it would prove useful to try to detail the exact
conditions under which use error etc are raised anyway. The exact details
are quite target dependent, and no well written code in Ada should depend
on these kind of implementation differences anyway. So yes, these are indeed
fairly obscure.

The code of the I/O packages is actually quite transparent, and it is not so
unreasonable to suggest that people look at this code if they want to know more
about the exact mapping of Ada stuff to OS stuff. For one thing there are many
implementation defined choices here that are NOT required to be documented. In
particular, you really need to know these details if you plan to mix Ada and
C simultaneous I/O.



^ permalink raw reply	[relevance 20%]

* Re: GNAT documentation question
  @ 2002-07-30  4:18 21%     ` Robert Dewar
  2002-07-30  4:21 20%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-30  4:18 UTC (permalink / raw)


Mark Johnson <mark_h_johnson@raytheon.com> wrote in message news:<3D458108.A5D88B80@raytheon.com>...

> As an example and an exercise for the reader - can you find the
> configuration pragma that is necessary with GNAT on Linux to get real
> time priorities. In our case, it took a search through the
> documentation, then the source code, and then a message to ACT to
> confirm that what we read was actually correct. It also didn't help that
> you can't dig the real time priority out of Linux w/o a patched (or
> extremely recent) kernel.

That's straightforward. If you want Annex D dispatching rules (that's the
semantically significant issue here), then you need to use the pragmas
documented in Annex D to have this effect. I would be surprised if there
was anything else to this issue. In other words, real time priorities are
not an end here, they are simply a means to an end, the end being the proper
implementation of annex D features.



^ permalink raw reply	[relevance 21%]

* Re: Slices of 2d arrays?
  @ 2002-07-29 13:37 21%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-29 13:37 UTC (permalink / raw)


"Chad R. Meiners" <crmeiners@hotmail.com> wrote in message news:<ahppfr$j53$1@msunews.cl.msu.edu>...
> Yes, please cite this principle.  I would like to see where this principle
> was first stated since it does seem to be a rather intuitive principle.

Prof Dr Fritz L. Bauer

An important member of WG2.1, the group that developed Algol-68. If you
do a search for Bauer Algol-68 you will get a lot of hits (the top ones
are all in German).

He formulated this principle in the 60's. I do not have the exact reference,
I will track it down. It was one of the guiding principles in the Algol-68
design, and whenever we violated it, we were sure to carefully understand
the trade-offs.



^ permalink raw reply	[relevance 21%]

* Re: GNAT documentation question
  @ 2002-07-29 11:01 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-29 11:01 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcc3cu3ikab.fsf@shell01.TheWorld.com>...
> dewar@gnat.com (Robert Dewar) writes:


> I was always against having Annex M in the first place, and against any
> form of documentation requirements, so it might be the case that I was
> (therefore) sloppy.  (I am very much in favor of good documentation -- I
> just don't think an International Standard is the way to go about it.)

I think it's fine to have them there if you regard them as having the same
status as implementation advice, which is what happens in practice.

The idea that they ar eformal normative requirements is of course ludicrous
given the complete absence of a formal definition of what documentation means!



^ permalink raw reply	[relevance 22%]

* Re: Slices of 2d arrays? +HPF
  @ 2002-07-28 23:54 22%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-28 23:54 UTC (permalink / raw)


Darren New <dnew@san.rr.com> wrote in message news:<3D402036.171C354B@san.rr.com>...

> Another part of the problem is again a lack of libraries, I expect. About 15
> years ago, I had in my hands an ACM publication which was basically 60 or 70
> microfiche foils full of FORTRAN listings of numerical algorithms of all
> kinds. Having this sort of resource at hand for FORTRAN and no such resource
> at hand for Ada is a compelling argument against switching to Ada, methinks.

Doesn't compell me! There is no problem in calling these standard Fortran
library units from an Ada program when this makes sense.



^ permalink raw reply	[relevance 22%]

* Re: GNAT documentation question
  @ 2002-07-28 19:09 22%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-07-28 19:09 UTC (permalink / raw)


James Squire <james.a.squire@boeing.com> wrote in message news:<3D417AB2.ADDD3F7A@boeing.com>...
> "Grein, Christoph" wrote:
> > 
> > BTW, you quote chapter and verse incorrectly, it should 
> > be A.13(15).

By the way, it seems that this particular documentation
requirement got omitted from Annex M, which is probably
an oversight.



^ permalink raw reply	[relevance 22%]

* Re: GNAT documentation question
  @ 2002-07-28 18:28 21% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-07-28 18:28 UTC (permalink / raw)


James Squire <james.a.squire@boeing.com> wrote in message news:<3D406C6B.9DE867E4@boeing.com>...
> A.13.15 says:
> 	The implementation shall document the conditions under which
> Name_Error, Use_Error and Device_Error are propagated.
> 
> I've looked through the GNAT Reference Manual and I can't find this
> anywhere.  Can anyone point me to where it is?


Easy to point to! The detailed documentation for such
details is always in the sources. These sources are very
much part of the documentation for questions like this.
This has the advantage of providing absolutely precise,
complete and up to date documentation of implementation
details like this.

The source of the run-time library, always distributed
with all versions of GNAT, provides completely detailed
documentation of the mapping of Ada 95 run-time features
to the operating system in use.



^ permalink raw reply	[relevance 21%]

* Re: Ada.Task_Identification.Abort_Task (Environment_Task) ;
  @ 2002-07-25  0:43 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-25  0:43 UTC (permalink / raw)


"Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> wrote in message news:<ahjk4d$5t5$1@nh.pace.co.uk>...
> Why don't the
> "terminate" alternatives work? You tell me.

No, you tell us why you think that terminate would do
something useful in this situation. I have no idea why
you would think this. Use the definition of terminate
in the RM to answer, not some vague intuition of what
it might mean.

Or perhaps you should write the exact code you have in
mind that does not "work". You postulate a compiler bug,
but I would be willing to bet this is a programmer misunderstanding!



^ permalink raw reply	[relevance 21%]

* Re: Dispatching and generics - language lawyer question
  @ 2002-07-25  0:40 22% ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-25  0:40 UTC (permalink / raw)


"Grein, Christoph" <christoph.grein@eurocopter.com> wrote in message news:<mailman.1027489082.2047.comp.lang.ada@ada.eu.org>...
> When you used this trick to redefine 
> equality, also the predefined equality reemerged as in 
> the cases above. Thus for 
> compatibility, we have this rule in Ada 95.

The compatibility consideration here does not relate solely
to the use of the trick for redefining equality.



^ permalink raw reply	[relevance 22%]

* Re: Slices of 2d arrays?
  @ 2002-07-25  0:38 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-25  0:38 UTC (permalink / raw)


lutz@iks-jena.de (Lutz Donnerhacke) wrote in message news:<slrnajstf0.ok.lutz@taranis.iks-jena.de>

 type grid is array (1..10) of array (1..10) of character;

This is illegal. Please please if you don't know Ada reliably well,
test out any fragment of code that you
post. One of the things that makes CLA very painful
for those learning Ada is the frequency with which
illegal code fragments are posted.



^ permalink raw reply	[relevance 22%]

* Re: Slices of 2d arrays?
  @ 2002-07-25  0:33 21%   ` Robert Dewar
      0 siblings, 2 replies; 200+ results
From: Robert Dewar @ 2002-07-25  0:33 UTC (permalink / raw)


Peter Hermann <ica2ph@iris16.csv.ica.uni-stuttgart.de> wrote in message news:<ahmb67$jjb$1@news.uni-stuttgart.de>...
>    g(1   ,4   ) is of type character
>    g(1..1,4..5) is of type grid
>    g(1   ,4..5) is of type grid slice?
>    g(1..1,4   ) is of type grid slice?
>    and the n-dimensional arrays?
> 
> No.   Language designers will certainly refusei, IMHO.

It is not hard to work out the semantics of this feature,
just see Algol-68 for inspiration.

However, as soon as you extend slices to >1D arrays, the
feature no longer obeys the "Bauer Principle" which says
that you should not pay overhead for a feature unless
you use it. That's because general slicing results in
non-standard strides, and you have to allow for this
whether or not such slicing is used.



^ permalink raw reply	[relevance 21%]

* Re: Providing C function With Argv
  @ 2002-07-23 13:43 21% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-23 13:43 UTC (permalink / raw)


jeff.huter@bigfoot.com (Jeff) wrote in message news:<fe4bb2c2.0207220726.7502e4bd@posting.google.com>...
> How does one pass a C function the eqivalent of char **?  Is there any
> easier way to accomplish this than to construct the char **argv from
> Ada.Command_Line.Argument?  Working code would be much appreciated
> since I'm rather new to Ada.


To do this in portable Ada is a real pain, because you
would have to reconstruct the data in the form expected
by a C program.

In practice, most implementations will save argc and argv
somewhere. Read the GNAT documentation to find out how
this is done in GNAT (it is fully documented).

I trust that if you are using GNAT, you do indeed have
the documentation?



^ permalink raw reply	[relevance 21%]

* Re: Passing Unconstrained Arrays from FORTRAN to an Ada95 subunit
  @ 2002-07-22  1:48 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-22  1:48 UTC (permalink / raw)


kcarron@belcan.com (Karen Carron) wrote in message news:<5489a352.0207191657.5fac87a8@posting.google.com>...
> What I have found is that the offset in referencing individual array
> elements in FORTRAN is 1 (ex. the first element is referenced with a
> subscript of value 1) but in Ada it is 0.  This is causing a problem
> since the subscripts are variables in a fortran common.

What you are doing cannot possibly work. You need to
read the RM section on interfacing to Fortran.



^ permalink raw reply	[relevance 22%]

* Re: [ot] making stuff
  @ 2002-07-20 12:43 21%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20 12:43 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wcclm88lfr9.fsf@shell01.TheWorld.com>...
> "chris.danx" <spamoff.danx@ntlworld.com> writes:

> Of course, if you're distributing code to miscellaneous folks who may or
> may not have cygwin, you're stuck with the pain.  You end up with either
> huge amounts of OS-conditional junk, or simply maintain two different
> make files.

That's a bit incomprehensible. Cygwin is Free Software. You can either
provide
a copy of Cygwin, or, probably more sensibly, point to where people
can get it.
If you are in a non-hobbyist environment, where people need to use
supported
software, you can obtain supported versions of Cygwin from Redhat.
Requiring people to obtain cygwin is no different from requiring them
to acquire any
other software they may require. After all you are requiring your
recipients
to get Windows if you are providing a windows compatible version.



^ permalink raw reply	[relevance 21%]

* Re: gnat: time-slicing
  @ 2002-07-20 11:56 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20 11:56 UTC (permalink / raw)


"R. Tim Coslet" <R_Tim_Coslet@pacbell.net> wrote in message news:<B95B79D3.4951%R_Tim_Coslet@pacbell.net>...
> Tasking is always potentially "dangerous"!!!
> 
> That is why Ada provides the features it does to coordinate Tasks (e.g.,
> Protected Objects, requeue, abort, entry calls) and keep them from stepping
> on each other's data structures.
> 
> But no Tasking system (Ada or not) can ever be fully deterministic in what
> runs when!

That's really very misleading. It is of course possible to write
deterministic
tasking programs, even using only the core language with undefined
dispatching
semantics. If you are using an Annex D compiler with the appropriate
pragmas,
on a monoprocessor, the semantics are designed to be (and are) almost
completely deterministic. The above statement reflects some pretty
significant misunderstanding.



^ permalink raw reply	[relevance 22%]

* Re: gnat: time-slicing
  @ 2002-07-20 11:52 20%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20 11:52 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) wrote in message news:<YO$4QirEkuiT@eisner.encompasserve.org>...

> Or unless you have a guarantee from the Ada implementation or the
> operating system in that regard.

In my view it is dubious for an Ada implementation to guarantee the
behavior of an erroneous program, and it is even more dubious for
a program to rely on such a guarantee. No competent Ada programmer
should ever write erroneous code except in very rare and very well
documented situations, and even there it is almost always better to
find another solution.

For example, if you write erroneous code, a new version of the compiler
may change the behavior, and you have no basis to complain. Moreover
if you have to port the code to another compiler you can get into very
nasty trouble. It is one thing to rely on implementation defined
behavior (which can of course also cause portability difficulties,
but of a much better defined kind) and quite another to rely on
erroneous code.



^ permalink raw reply	[relevance 20%]

* Re: gnat: time-slicing
  @ 2002-07-20 11:47 16%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20 11:47 UTC (permalink / raw)


Keith Thompson <kst@cts.com> wrote in message news:<yecy9c7th59.fsf@king.cts.com>...
> Robert A Duff <bobduff@shell01.TheWorld.com> writes:
> [...]
> > Note that "erroneous" is an Ada technical term.  It doesn't mean exactly
> > the same thing as it does in plain English (unfortunately).  Look it up
> > in the RM, if you like.
> 
> That's one thing the C standard got right and the Ada standard got
> wrong.  C's term for the same thing is "undefined behavior", which
> means pretty much what is says in plain English; the standard defines
> it more precisely, but the definition doesn't conflict with common
> usage.  Ada's term "erroneous" is misleading because the word already
> has a perfectly good meaning that's much less specific than the
> meaning the Ada standard assigns to it.

To me undefined behavior is also a very vague term if we don't think
of
it as a technical term. Undeefined behavior can reasonably be thought
of
as encompassing four things in Ada:

  1. erroneous execution
  2. implementation defined behavior (and hence undefined in the
standard)
  3. implementation dependent behavior
  4. execution that is a bounded error (defined but still considered
wrong)

I actually like the use of the term erroneous as opposed to undefined,
but
in any case, the point is that both the terms undefined in C and
erroneous
in Ada are technical terms. In both cases you will get into trouble if
you
think of them as meaning just what they mean in English.

If you read a language standard, you must be prepared to acquire the
technical
terms that are used and understand them precisely. If you find that
too much
of a burden, then language standards are not for you. Now of course a
text book
or a tutorial is free to use any language it pleases. There is
certainly no
reason why every programmer should need to know precise technical
terms of
the standard, and it is unrealistic to think they will.

One of the rules we try to follow in GNAT error messages is NOT to
rely on the
precise meaning of technical terms. For example, everyone who reas the
standard
carefully knows that the term "package" does not include "generic
package". There are many statements in the RM that depend crucially on
this fact. But we
try to avoid a GNAT error message that uses the word "package" in this
formal
sense, since informally a generic package is a kind of package in
ordinary
english.

Similarly, what everyone calls a package specification, package spec
for short,
is in fact NOT a package specification at all in the RM, but rather a
package
declaration, and there are RM statements that depend on this
distinction, but
we try to avoid depending on this in error messages

(actually internally in the GNAT sources, and externally to some
extent, we
have defined package spec, which is a term that does not appear in the
RM,
to mean package declaration :-)



^ permalink raw reply	[relevance 16%]

* Re: source beautifier
  @ 2002-07-20 11:32 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20 11:32 UTC (permalink / raw)


Jan Prazak <janp9@gmx.net> wrote in message news:<pan.2002.07.19.22.28.29.58247.1183@gmx.net>...
> Hello,
> 
> does a source code beautifier exist for Ada?
> I have searched for it in Google and AdaPower, and found nothing.

There are several tools that perform this function. If you are a
GNAT Pro user, then you should have a look at gnatpp, the GNAT 
Pro pretty printer, which is now available in a beta version to
GNAT Pro users.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: if X in 1..35000 versus Boolean
  @ 2002-07-20  0:37 21%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-20  0:37 UTC (permalink / raw)


lutz@iks-jena.de (Lutz Donnerhacke) wrote in message news:<slrnajcu1u.om.lutz@taranis.iks-jena.de>...

> The pascal set type is a array of Boolean.
> 
>   type Set is array (1 .. Natural'Size) of Boolean;
>   for Set'Size use Natural'Size;

Please be careful not to recommend incorrect junk like this. If you
don't know for sure what is correct and what
is not correct, then *always* compile code snippets that
you post to CLA.

(I certainly don't trust myself to get things right and
I always compile snippets, it's just too easy to make
silly mistakes like the above one).



^ permalink raw reply	[relevance 21%]

* Re: time-slicing
  @ 2002-07-16 21:33 21%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-16 21:33 UTC (permalink / raw)


Jan Prazak <janp9@gmx.net> wrote in message news:<pan.2002.07.15.16.01.11.552776.1135@gmx.net>...

> The tutorial says that there has to be a pragma, which 
> enable time-slicing 

This is also false, perhaps it is time to get another 
tutorial. If it really says this it is wrong. There is
no required support for time slicing in Ada 95. The only
required scheduling discipline is run till blocked, and
that is only required if you use the proper pragma and
annex D is supported.

On a system like GNU/Linux or NT, you will get whatever the underlying
threads mechanism provides. You did not
even say which threads package you were using on your
system.



^ permalink raw reply	[relevance 21%]

* Re: gnat: time-slicing
    @ 2002-07-16 21:29 21% ` Robert Dewar
      2 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-07-16 21:29 UTC (permalink / raw)


Jan Prazak <janp9@gmx.net> wrote in message news:<pan.2002.07.15.10.24.43.431977.7868@gmx.net>...
> Hello,
> 
> I have seen this example program in a tutorial:
> 
> ------------
> with Ada.Text_IO; use Ada.Text_IO;
> 
> procedure Task_Demo is
>   task A;
>   task body A is
>   begin
>     Put_Line("b");
>     Put_Line("b");
>   end A;
> begin
>   Put_Line("a");
>   Put_Line("a");
> end Task_Demo;

This is a nonsense example, it is erroneous to do output
on the same file from two different tasks, since obviously
the file is a shared variable, and the program violates
rules about access to shared variables. You must always
properly control access of tasks to I/O. If the compiler
deleted your hard disk when you ran this program, you
could decide that it was an unpleasant compiler to use,
but not that it was an incorrect compiler (erroneous
programs have completely undefined semantics).

All the discussion about time slicing is besides the point
given this observation.



^ permalink raw reply	[relevance 21%]

* Re: Ada.Task_Identification.Abort_Task (Environment_Task) ;
  @ 2002-07-13 22:12 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-13 22:12 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7v8z4f4u7d.fsf@pushface.org>...
> The 4wexcpol.adb (and other files with numeric prefixes) 
> contain variants, using a naming scheme I've never tried 
> to understand

Nothing to understand there, just look at the lists of
files in the makefile, and it is quite clear what is going
on for each target.



^ permalink raw reply	[relevance 22%]

* Re: if X in 1..35000 versus Boolean
  @ 2002-07-13 22:10 22%     ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-13 22:10 UTC (permalink / raw)


Jan Prazak <janp9@gmx.net> wrote in message news:<pan.2002.07.13.19.33.33.634009.1168@gmx.net>...

> type num : (1, 2, 3, 4);

I have no idea what this is supposed to be, but it is not
even a reasonable approximation of an Ada type declaration.

> -- this should be the same as: if 3 in (1,2,3,4);

This is not even vaguely Ada, the right operand of a
membership test cannot be an aggregate



^ permalink raw reply	[relevance 22%]

* Re: if X in 1..35000 versus Boolean
  @ 2002-07-13 22:09 20%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-13 22:09 UTC (permalink / raw)


Christopher Browne <cbbrowne@acm.org> wrote in message news:<agpld4$niq17$1@ID-125932.news.dfncis.de>...
> The size of the object code increased by 20 bytes, so it 
> evidently changed _something_.  I'll bet that it created 
> an anonymous enumeration type, and that some extra code 
> is describing/referencing that.

As more than one person has pointed out, there is no
enumeration type in sight (your understanding of enumeration types is
quite flawed, as shown by your
example, you might want to get hold of an online Ada
tutorial to learn about these matters).

As for the extra code you are adding a test, your original
only tests an upper bound so of course testing both bounds
takes more.

Though very little more with a decent compiler. If you really got 20
bytes more, then either you have a junk
compiler, or you are misusing the compiler you have (e.g.
running in -O0 mode with GNAT, which is of course ludicrous if you are
interested in reducing the amount of generated
code :-)



^ permalink raw reply	[relevance 20%]

* Re: Problem with Gnat.Dynamic_Tables
  @ 2002-07-12  3:42 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-12  3:42 UTC (permalink / raw)


achrist@easystreet.com wrote in message news:<3D2DEC07.9E47AC3@easystreet.com>...
> Robert Dewar wrote:
> > 
> I'm puzzled why the mw_components Dynamic_Array seens to 
> work without
> me, as user of the generic package, doing anything 
> different (as far
> as I see) when using that package from what didn't work 
> with GNAT
> dynamic tables.  


The GNAT dynamic table package malfunctioned it because
you misused it and ignored a critical rule in the spec.
The Dynamic_Array package is a completely different package. You need
to read the documentation for this package carefully and make sure you
are following it.

Nothing puzzling about two different packages having two
different specifications!



^ permalink raw reply	[relevance 22%]

* Re: Smart sorting algorithm ?
  @ 2002-07-11 20:04 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-11 20:04 UTC (permalink / raw)


Wes Groleau <wesgroleau@despammed.com> wrote in message news:<3D2D98DB.39944A80@despammed.com>...
> 
> The lookup table is created by doing the comparisons.
> And predicting some comparisons from others.
> Once that's done, the row with the N "this is first"
> entries is first.  Second is the row with N-1, etc.
> But the whole process still involves some comparisons.

Once again, this is a dead-end idea. It cannot possibly
be any help if you are using a good sorting algorithm
that minimizes comparisons in the first place, and if
minimizing comparisons is desirable, then that should
be the starting point, and you should forget about this
kludging around trying to repair bad sorting algorithms.



^ permalink raw reply	[relevance 22%]

* Re: Problem with Gnat.Dynamic_Tables
  @ 2002-07-11 15:13 22% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-07-11 15:13 UTC (permalink / raw)


achrist@easystreet.com wrote in message news:<3D2B6BFB.D4468F57@easystreet.com>...

> I see in the Gnat.Dynamic_Tables comments that no
> initialization of the array elements is done. 

Exactly!

> Does an unbounded_string need some
> initialization?

Of course it does, so this is just a misuse of the package



^ permalink raw reply	[relevance 22%]

* Re: float problem
  @ 2002-07-09 20:07 21%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-09 20:07 UTC (permalink / raw)


dennison@telepath.com (Ted Dennison) wrote in message news:<4519e058.0207090536.55f497f0@posting.google.com>...

> Some compilers will do that if you convert the floating-point value
> into a fixed-point value (eg: Duration), and dispaly that.

This is a bizarre and misleading answer. The semantics
of conversion from float to fixed and the semantics for
display of fixed point compilers is precisely defined,
there is no room for "some compilers" to do something
different from other compilers here.

Furthermore, this makes no sense. If you want to format
your float output a certain way, use the parameters provided to Put
for this purpose, there is absolutely
no sense in going through fixed point.



^ permalink raw reply	[relevance 21%]

* Re: Smart sorting algorithm ?
  @ 2002-07-09  4:35 22%   ` Robert Dewar
    1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-09  4:35 UTC (permalink / raw)


Wes Groleau <wesgroleau@despammed.com> wrote in message news:<3D2A0A25.52A62B7C@despammed.com>...
> > Anyone know anything about a sorting algorithm
> > that includes the ability to infer the answer
> > to a comparison from comparisons already done?
> 
> I solved this part.  Wrote an "<" that
> first checks a 2D lookup table.  If the 
> answer is "unknown" it does the comparison,
> then updates as many cells in the table as
> possible.  Once you compare A & B, you may
> be able to determine (and record) the
> order of A,C based on B,C or vice versa.

That's just got to be a non-optimal solution. You just
can't get below NlogN comparisons this way, so why not
just use a decent NlogN comparison algorithm in the first
place (e.g. GNAT.Heap_Sort_A). I think you are wasting
your time here.



^ permalink raw reply	[relevance 22%]

* Re: GNAT on SPARC
  @ 2002-07-06 18:30 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-06 18:30 UTC (permalink / raw)


anders@legolas.gidenstam.org (Anders Gidenstam) wrote in message news:<g2j6ga.262.ln@legolas>...

> Read the GNAT inline assembler tutorial at adapower.com,
> http://www.adapower.com/articles/gnatasm/ and the GNAT reference
> manual.
> The tutorial targets x86 but the inline mechanisms are the same, in
> particular look at the 'Clobber' argument to Asm.

All this is fine, but has nothing whatsoever to do with the original
query, which was about reserved registers on the SPARC!



^ permalink raw reply	[relevance 22%]

* Re: Smart sorting algorithm ?
  @ 2002-07-06 13:40 19%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-06 13:40 UTC (permalink / raw)


"Tarjei T. Jensen" <tarjei.jensen@kvaerner.com> wrote in message news:<aft22d$bcm2@news.kvaerner.com>...
> Wes Groleau wrote:
> > > have a look into D.E.Knuth: The Art of Computer Programming, Vol
> > > 3: Sorting and Searching. Subsection 5.3.1: Minimum Comparison
> > > Sorting.
> >
> > Thanks, I will do that if I can find it.
> > (I got volume one at a garage sale, and
> > I've never seen any of the others anywhere.)
> 
> Knuth is an excellent example of a bit twiddler in action. As far as I'm
> concerned the point gets lost in a sea of details written in mix.

Not at all. I suspect you have not really made an effort to read these
books carefully. The point of the MIX sections (which are a very small
fraction of the material) is to try to analyze *actual* performance of
algorithms as opposed to theoretical O(f(n)) behavior. It's an interesting
attempt, not made by any other algorithm book author, and indeed not always
successful since it involves going to a very low level, but it is not clear
that there is any way of doing this that would be more successful.

In fact all algorithms in Knuth are stated in a very readable pseudo-language
and if you do not care for the detailed performance analysis in the MIX
code sections, just skip them, but don't throw out the baby with the bath
water, and don't use the MIX sections as an excuse not to thoroughly read
the material in the first three Knuth volumes (and if you have the math,
follow through the mathematical reasoning carefully).



^ permalink raw reply	[relevance 19%]

* Re: Simple Question - Direct Access to memory with ADA
  @ 2002-07-04  4:01 21% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-07-04  4:01 UTC (permalink / raw)


Fredrick Smith <ascii@thedomain.net> wrote in message news:<3D21E96E.7030109@thedomain.net>...
> *** post for FREE via your newsreader at post.newsfeed.com ***
>   Anyone have an efficient method to do this? will I need to use the 
> pragma Atomic as well? Am I going to have to resort to
> Unchecked_Conversion?
> 
> I hope I have made the question clear.
> 
> Regards
> Fred.


What you are probably missing is that it is perfectly fine
to use a dynamic expression in an address clause, so it is
perfectly easy to write peek or poke functions that contain
an address clause to address the memory. That gives you
a diction essentially equivalent to C,

As others have pointed out, your C code contains unchecked
conversions, so why you should be so concerned about using
this in Ada is peculiar. Probably you don't even think of
the C cast as an unchecked and dangerous conversion (which
makes the point for the Ada design I think :-)



^ permalink raw reply	[relevance 21%]

* Re: Creating really small binaries?
  @ 2002-06-26  8:08 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-26  8:08 UTC (permalink / raw)


Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov> wrote in message news:<u1yb4zghs.fsf@gsfc.nasa.gov>...

> Or -O3, inline options, suppress checks, eliminate unused subprograms, etc.

-O3 can only make executables larger, same with inlining, so this is
not a good idea!



^ permalink raw reply	[relevance 22%]

* Re: C.A.R. Hoare on liability
  @ 2002-06-22 13:14 17%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-22 13:14 UTC (permalink / raw)


"Robert I. Eachus" <rieachus@attbi.com> wrote in message news:<3D1390D0.7040709@attbi.com>...

> I agree with the point, but not the example.  For Ariane 4, the analysis 
> was carried out, and whether or not you agree with the final decision 
> for Ariane 4, the decision was well thought out.  The disaster was that 
> the Araine 4 analysis was carried out absent the Ariane 5 requirements 
> for political reasons, and the Ariane 5 requirements analysis was never 
> done.

I disagree. Here you have a case in the Ariane4 code where a check was being
made at runtime which had the quality that if the check failed, disaster
would occur. There are two possibilities

1. In the Ariane4 code, it was demonstrated that this check could never fail.
In that case, the check should not have been there.

2. In the Ariane4 code, it was NOT demonstrated that this check could
never fail. In that case, they were just lucky that no Ariane4 blew up.

I will repeat. You should NEVER have a runtime check in your code where it
is the case that failing the check is a more serious situation than not doing
it at all. Casually putting in checks is very likely to generate such cases.

My understanding of the Ariane case is that this check was casually put in,
in other words it was put in WITHOUT any analysis that said this check was
needed. Deployed code should not have such checks.

If you leave checks on throughout an Ada program, then a complex analysis is
required to ensure that if any check fails, it is properly handled in a manner
that does not do more damage than failing the check.

If you do not leave checks on, then a complex analysis is required to ensure
that nothing serious fails that would have been caught by a check.

In the absence of any careful analysis, it is not clear whether it is better
to leave on all checks or not. The important thing is to realize that in the
absence of a careful analysis, turning all checks on is not necessarily
safer than leaving them off.



^ permalink raw reply	[relevance 17%]

* Re: have to use unrestricted access but just what about access
  @ 2002-06-22 12:09 18%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-22 12:09 UTC (permalink / raw)


Ted Dennison <dennison@telepath.com> wrote in message news:<3D13CD23.9080404@telepath.com>...
> Robert A Duff wrote:
> > I agree that this is a nasty restriction in Ada 95 -- one ought to be
> > allowed to declare the parameter aliased explicitly, and taggedness
> > shouldn't have anything to do with the matter.
> 
> Isn't that what the "access" parameter mode does? Sure, you have to 
> announce your intentions in the subprogram's interface, but that is 
> arguably a good thing too.

No, you miss the point. Suppose you have a function with a parameter
X : integer. Now you want to call another function that expects an
access type (perhaps an external C function). You want to be able
to pass X'Unchecked_Access to that inner function, but you can't,
because you can't make X aliased. I often want to create temp access
values referencing parameters, it's a perfectly reasonable requirement,
and one that is handled in GNAT by using unrestricted access. of course,
just as when you use 'Address, you have to be careful (remember that for
objects, Unrestricted_Access in GNAT is nothing more than 'Address and
an unchecked conversion to the appropriate pointer type).

The advantage of Unrestricted_Access in GNAT is that it encourages using
typed interfaces instead of degenerating to using System.Address.

It is no more dangerous than 'Address, but just because you are going down
to the semantic level of dealing with low level addresses or pointers does
not mean you have to give up typing (after all pointers in C are strongly
typed, so it is a shame that in a lot of Ada 83 code you get interfaces
to C functions where on the Ada side you give up on typing by using 'Address
when the C side is strongly typed :-)



^ permalink raw reply	[relevance 18%]

* Re: C.A.R. Hoare on liability
  @ 2002-06-21 11:55 18% ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-06-21 11:55 UTC (permalink / raw)


Wes Groleau <wesgroleau@despammed.com> wrote in message news:<3D0E09BA.A492AA3D@despammed.com>...
> Tying together two recent threads,
> a quote from "The Emperor's Old Clothes":
> 
>     ... we asked our customers whether they wished us
>     to provide an option to switch off these checks
>     in the interests of efficiency on production runs. 
>     Unanimously, they urged us not to--they already knew
>     how frequently subscript errors occur on production
>     runs where failure to detect them would be disastrous. 
>     I note with fear and horror that even in 1980, language
>     designers and users ahve not learned this lesson. 
>     In any respectable branch of engineering, failure
>     to observe such elementary precautions would have
>     long been against the law.

Three comments

First, runtime checks can be deadly if you have not done proper
analysis
of how they can be handled, since they can turn trivial errors that
would
not intefere with overall correct function into disasters (Ariane5 is
an example of this in action).

Second, in safety critical code you often turn run time checks off,
because
you rely on other means to ensure that these checks can never fail.
See for
example the work that Praxis has done in proving programs to be
exception
free. With such a proof in hand, run time checks can be a menace for
certification since you have a whole bunch of useless deactivated
code.

Third, there are situations in which the extra overhead from runtime
checks,
small though it may be, is unacceptable. It is no use saying to
someone, sorry
we know that if the checks could be turned off, you could use Ada just
fine,
but we have decided in Ada 0X that it was a terrible idea to allow
people to
do this, so you will have to use C instead.

As to customers who can't trust themselves to follow their own
procedures, I
have no sympathy whatever. Procedures should be enforced by a
combination of
review and tools, and failure to put in the effort for such
enforcement is
sloppy workmanship in my view.

For example, I would think that project files that describe the
required
compilation options should be under very strict configuration control,
and
not something that can casually be modified by someone who does not
know
what they are doing.



^ permalink raw reply	[relevance 18%]

* Re: have to use unrestricted access but just what about access
  @ 2002-06-21 11:45 21%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-06-21 11:45 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wccznxqni7o.fsf@shell01.TheWorld.com>...
> "chris.danx" <spamoff.danx@ntlworld.com> writes:
> 
> > How can the unrestricted_access attribute be replaced by just access in the
> > following code?
> 
> You should be using 'Unchecked_Access here, which is a standard feature
> of Ada (albeit unsafe).
> 
> 'Unrestricted_Access is a feature of GNAT, and is not necessary in your
> example.
> 
> - Bob

Bob look again!

One of the nasty restrictions in Ada 95 is that you cannot make parameters
aliased. This means that they can never be used in access attributes. This
is indeed one use of unrestricted access that is useful and legitimate, though
of course passing such an access value out assumes call by reference, and you
have to be sure that you can gaurantee call by reference.



^ permalink raw reply	[relevance 21%]

* Re: have to use unrestricted access but just what about access
    @ 2002-06-20 16:05 21% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-20 16:05 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<0x8Q8.6779$ZP1.1263481@news11-gui.server.ntli.net>...
> Hi,
> 
> How can the unrestricted_access attribute be replaced by 
> just access in the following code?


The referenced post in this thread is an excellent lesson
in when how to seriously misuse the Unrestricted_Access
attribute. Of course it is no worse than Address, since
it is exactly equivalent to taking 'Address and then
applying an unchecked conversion to get the access type
in question.

But even a cursory examination of this code will show
that it is very likely to generate a dangling pointer.



^ permalink raw reply	[relevance 21%]

* Re: Is there a Graphical IDE to GNAT 3.14p (Win2K platform)?
  @ 2002-06-10  2:21 22%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-10  2:21 UTC (permalink / raw)


"Fran?is BERGERET" <f6hqz@wanadoo.fr> wrote in message news:<ae08d3$9m5$1@wanadoo.fr>...
> Hello Daniel.
> 
> Oups ! You don't read french ?
> I am french and I read english... ;-)
> Ok, ok, I know, english is THE universal language for all 
> guys who are playing computers.

Not at all, it is just that this newsgroup is an english
one. I am betting that if people started posting messages
in English on the French version of CLA, they would be
*quite* unwelcome :-) :-)



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
    2002-06-09 12:13 22%       ` Robert Dewar
@ 2002-06-09 18:05 22%       ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-09 18:05 UTC (permalink / raw)


"SteveD" <nospam_steved94@attbi.com> wrote in message news:<x1tM8.144976$ux5.185878@rwcrnsc51.ops.asp.att.net>...
> I agree with this for most of the gnat specific 
> attributes.  But find the "img" attribute hard to
> justify.  Usually being terse is not a goal in Ada.

One comment on the terseness issue here is that when it
comes to attribute names, the design of the language
favors short abbreviations (pos, val, max, min etc)



^ permalink raw reply	[relevance 22%]

* Re: Is there a Graphical IDE to GNAT 3.14p (Win2K platform)?
  @ 2002-06-09 17:16 21%       ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-09 17:16 UTC (permalink / raw)


Michael Bode <m.g.bode@web.de> wrote in message news:<m3u1odijig.fsf@jupiter.solar.system>...

> Ok, but still it is pretty simple to type the command 
> line parameters for gnat. And because it is so simple 
> pretty much every programmer's editor should be able to 
> handle it for you.

Sure, but we are looking for a lot more functionality
than that, including intelligent browsing, integration
of the project facilility etc, and integrating that into
an arbitrary editor is quite a bit of work. The GNAT
Programming System will support two editors, the native
GPS editor and EMACS, and support here means full support
in this extended sense.



^ permalink raw reply	[relevance 21%]

* Re: Ada -vs- GNAT
  @ 2002-06-09 12:13 22%       ` Robert Dewar
  2002-06-09 18:05 22%       ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-09 12:13 UTC (permalink / raw)


"SteveD" <nospam_steved94@attbi.com> wrote in message news:<x1tM8.144976$ux5.185878@rwcrnsc51.ops.asp.att.net>...

> I agree with this for most of the gnat specific attributes.  But find the
> "img" attribute hard to justify.  Usually being terse is not a goal in Ada.

The 'Img attribute is intended solely for debugging purposes. It is poor
style to use it in any other context. One thing to realize about 'Img is
that it is only partially implemented according to its original spec, since
the intention is that it be usable for composite objects.



^ permalink raw reply	[relevance 22%]

* Re: Is there a Graphical IDE to GNAT 3.14p (Win2K platform)?
                     ` (2 preceding siblings ...)
  2002-06-08 12:21 22% ` Robert Dewar
@ 2002-06-08 12:21 22% ` Robert Dewar
    4 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:21 UTC (permalink / raw)


"Daniel Dudley" <dudley@online.no> wrote in message news:<mVcM8.420$sq6.6278@news2.ulv.nextra.no>...

> Not quite ready to dispair yet, I downloaded a separate
> program called AdaGIDE, which supposedly is compatible with
> GNAT and Win95/NT, but, as it turned out, not with Win2K
> (incompatible virtual device driver). :-(

You despaired too early. AdaGIDE works fine on Win2K.

There are also several other possibilities including GNIDE from
John English, and GLADE from Ada Core (though the latter is an
EMACS based system intended more for serious developers than
beginners).



^ permalink raw reply	[relevance 22%]

* Re: Is there a Graphical IDE to GNAT 3.14p (Win2K platform)?
      @ 2002-06-08 12:21 22% ` Robert Dewar
  2002-06-08 12:21 22% ` Robert Dewar
    4 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:21 UTC (permalink / raw)


"Daniel Dudley" <dudley@online.no> wrote in message news:<mVcM8.420$sq6.6278@news2.ulv.nextra.no>...

> Not quite ready to dispair yet, I downloaded a separate
> program called AdaGIDE, which supposedly is compatible with
> GNAT and Win95/NT, but, as it turned out, not with Win2K
> (incompatible virtual device driver). :-(

You despaired too early. AdaGIDE works fine on Win2K.

There are also several other possibilities including GNIDE from
John English, and GLADE from Ada Core (though the latter is an
EMACS based system intended more for serious developers than
beginners).



^ permalink raw reply	[relevance 22%]

* Re: HELP: PC System Call
    2002-06-08 12:16 22% ` Robert Dewar
@ 2002-06-08 12:17 22% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:17 UTC (permalink / raw)


"John Cupak" <Jcupak744@attbi.com> wrote in message news:<ZtcM8.49323$KD3.980836@typhoon.ne.ipsvc.net>...
> I teach Ada 95 using N. Cohen's "Ada as a Second Language, 2ed".
> 
> In the past, the students used UNIX workstations, and I assigned them
> the GETENV problem from them book. You know, call the UNIX
> getenv function with an environment variable, and get the mapped
> results back. We used all the C interface libraries, and it work just
> like in the book!
> 
> But, now we've replaced all the UNIX workstations with PCs, and I
> need a similar problem to give the students.
> 
> Does anyone have a nice, simple, Ada 95 "call" to an existing PC
> library function (even a DLL?) that I can substitute for the GETENV
> problem?

Actually if you are using GNAT, it would be more appropriate to use the
routine in the GNAT library for accessing environment variables.



^ permalink raw reply	[relevance 22%]

* Re: HELP: PC System Call
  @ 2002-06-08 12:16 22% ` Robert Dewar
  2002-06-08 12:17 22% ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:16 UTC (permalink / raw)


"John Cupak" <Jcupak744@attbi.com> wrote in message news:<ZtcM8.49323$KD3.980836@typhoon.ne.ipsvc.net>...
> I teach Ada 95 using N. Cohen's "Ada as a Second Language, 2ed".
> 
> In the past, the students used UNIX workstations, and I assigned them
> the GETENV problem from them book. You know, call the UNIX
> getenv function with an environment variable, and get the mapped
> results back. We used all the C interface libraries, and it work just
> like in the book!
> 
> But, now we've replaced all the UNIX workstations with PCs, and I
> need a similar problem to give the students.
> 
> Does anyone have a nice, simple, Ada 95 "call" to an existing PC
> library function (even a DLL?) that I can substitute for the GETENV
> problem?
> 
> Let me know both here, as well as my work email: John_J_Cupak@raytheon.com

Well if you did the reasonable thing and ran GNU/Linux on your PC's, you would
not even be asking this question :-)

Even if for some reason you are running Microsoft systems, this should still
work fine (interfacing to getenv) if you have an appropriate compiler interfaced.



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
  @ 2002-06-08 12:14 22%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-06-08 12:14 UTC (permalink / raw)


"Randy Brukardt" <randy@rrsoftware.com> wrote in message news:<ug2dgt3dbimqab@corp.supernews.com>...
> >Personally I find the introduction of attributes and pragmas that are
> >notessential to be undesirable.
> 
> 
> I agree

Everyone agrees!

What people differ on is the definition of essential. We are in the business
of meeting our customers needs. If there is a customer who needs a new feature,
and if the feature makes sense, and if it is generally useful, then we see it
as essential :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: Commercial C To Ada 95 compiler
  @ 2002-06-08 12:11 20%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:11 UTC (permalink / raw)


> In fact this is not an error in C.  Programs can (and do) intentionally
> index past the end of arrays.  I have seen C code that allocates memory
> dynamically and uses array access to reference the memory.  It is nearly
> impossible to distinguish these cases.

This is an erroneous C program. Definitely it will be hard to translate
programs that are erroneous and have undefined semantics. Or from a more
formal point of view, ANY translation of such a program is correct! Many
C programmers think C has general address arithmetic. It does not. If you
want general address arithmetic, you must use some other language, e.g.
Ada, which does have this feature. 
 
> > Another incompatibility is trying to reference the control
> > variable in a "for" loop outside the scope of the "for" loop.
> > This is impossible in Ada and not uncommon in C. The C compiler
> > will allow this. The Ada compiler will not.
> 
> In this case a direct translation should translate the for loop to a while
> construct.  For a direct translation the generated code must behave exactly
> the same as the original code.

A better response is that there is no "for" loop in C. The thing that looks
like a for loop in C is (and is defined to be) simply a macro form for a while
loop. Most obviously it must be translated into a while loop.

In general the point is that a translator that does this kind of translation
must have all the intelligence and semantic knowledge of a C compiler (and
must be written by someone who knows the formal semantics and typical usage
of both languages comprehensively).



^ permalink raw reply	[relevance 20%]

* Re: Commercial C To Ada 95 compiler
      @ 2002-06-08 12:06 22%             ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:06 UTC (permalink / raw)


Jim Rogers <jimmaureenrogers@worldnet.att.net> wrote in message news:<3D018106.6080004@worldnet.att.net>...
> SteveD wrote:

> One simple example is indexing past the end of an array.
> C compilers simply will not catch this problem. Ada compilers will.

Indexing past the end of an array is definitely an error in C. Some cases
can be caught at compile time, others at run time.



^ permalink raw reply	[relevance 22%]

* Re: Commercial C To Ada 95 compiler
  @ 2002-06-08 12:04 21%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:04 UTC (permalink / raw)


"SteveD" <nospam_steved94@attbi.com> wrote in message news:<s2gM8.137622$ux5.183790@rwcrnsc51.ops.asp.att.net>...
> "Darren New" <dnew@san.rr.com> wrote in message
> news:3D0184BD.69723B2D@san.rr.com...
> [snip]
> >
> > I think there would be more problematic constructs, tho, like static
> > variables (inside and/or outside of functions), pointers cast to different
> > types, and so on.
> 
> Not really that difficult.  Static variables can be handled by nesting
> packages... it isn't pretty, but you can get there. 

This is wrong, you don't need nested packages here. The translation of
static variables is straightforward. Part of the trouble with this thread is
that it is about solutions, not problems. We really don't know why anyone
would want to translate C to Ada, and since this does not make much sense
as a solution to any problem, there is too much guessing going on as to the
desired nature of the solution :-)



^ permalink raw reply	[relevance 21%]

* Re: Ada compiler for protected-mode 80286?
  @ 2002-06-08 12:02 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:02 UTC (permalink / raw)


Dave Littell <davidl@applink.net> wrote in message news:<3CF965FA.8D5C6AEA@applink.net>...
> Hi,
> 
> Is there an Ada compiler that will generate code for an 80286 in
> protected mode?  Can x86 GNAT be convinced to do this?


There is no current port of GNAT to the 80286, and this would be a major
project to produce one.



^ permalink raw reply	[relevance 22%]

* Re: Is there a Graphical IDE to GNAT 3.14p (Win2K platform)?
  @ 2002-06-08 12:00 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-08 12:00 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<ngdM8.2187$iK5.153863@news8-gui.server.ntli.net>...

> ACT have a new graphical IDE (GPS) which their customers are getting, but
> I'm not sure about a public release and if there is one it probably won't be
> for ages yet anyway.

You are confused on this Chris! We have not yet distributed the GNAT
Programming System (this is what Chris is referring to) to our
customers. For those of you out there who *are* our customers, you
will receive an announcement shortly about the status of GPS shortly.\

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: Syntactically correct spanish identifiers (Was: config files proposal)
  @ 2002-06-07 15:37 22%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-07 15:37 UTC (permalink / raw)


antonio_duran@hotmail.com (Antonio Duran) wrote in message news:<e1a50f2.0206070007.68e343e@posting.google.com>...
> dewar@gnat.com (Robert Dewar) wrote in message news:<5ee5b646.0206051749.558ed3fb@posting.google.com>...

> I feel sorry for open an issue that only shows my ignorance. Next time
> I will think before write. Thank you,

If lack of ignorance is defined as knowing everything that is in the RM,
then nearly all of us, including certainly me, are ignorant, so you don't
need to apologize :-)



^ permalink raw reply	[relevance 22%]

* Re: +Re: Can any body clarify me !!
  @ 2002-06-06 12:25 20%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-06 12:25 UTC (permalink / raw)


"Martin Dowie" <martin.dowie@nospam.baesystems.com> wrote in message news:<3cfe2133$1@pull.gecm.com>...
> > Then I would recommend using CVS
> 
> Well, you could but I usually like having all version 
> hanging around in a:

<<perfectly reasonable directory hierarchy skipped>>

Once again this is 

a) a perfectly plausible approach
b) one that is commonly used

and as to using CVS, it is not an either/or thing at all.
If you want to use the directory structure you suggest,
there is no problem whatever in reflecting this in your
CVS tree.

Note that the new project management features in GNAT Pro,
which can be used either stand alone, or as integrated into
the forthcoming release of the GNAT Programming System, a
new visual multi-language development system for GNAT Pro,
allow this kind of arrangement to be organized in a convenient and
easily managed manner.

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 20%]

* Re: Can any body clarify me !!
  @ 2002-06-06  1:54 21% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-06  1:54 UTC (permalink / raw)


"Grein, Christoph" <christoph.grein@eurocopter.com> wrote in message news:<mailman.1023277742.25662.comp.lang.ada@ada.eu.org>...
> > Hi,
> >      I want one clarification in ADA programming. I want to keep 
> > .ADS file in separate directory. and its corresponding .ADB file 
> > in separate directory. How I can
> > done it to build the application.?
> 
> If you use Gnat, check the -I option in the top secret documentation that should have come with your 
> compiler installation.

Now Christopher has gone and done it :-) He has revealed the existance
of
the secret documents. Can't you tell how much trouble we have gone to
hide the user documentation of GNAT by giving it the highly obscure
title "GNAT Users Guide" :-) :-)

Seriously, this documentation is definitely worth perusing. Compilers
are not
like simple minded editors that you can expect to use without reading
the documentation!



^ permalink raw reply	[relevance 21%]

* Re: Can any body clarify me !!
    @ 2002-06-06  1:52 22%       ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-06  1:52 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnafs562.aa1.randhol+abuse@kiuk0152.chembio.ntnu.no>...
> On Wed, 5 Jun 2002 14:17:47 +0100, Martin Dowie wrote:
> > "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> > news:slrnafs1g8.aa1.randhol+abuse@kiuk0152.chembio.ntnu.no...
> > [snip]
> >> Why would you want to do that? It sounds to me that you will only have
> >> more problems editing your files this way.
> > 
> > One 'real' target version, one 'fake' host version, test stub versions etc.
> 
> Then I would recommend using CVS
> 
> Preben

That's a non-sequitur, The use of CVS is orthogonal, the use of separate
directories in the manner suggested above is absolutely standard practice.



^ permalink raw reply	[relevance 22%]

* Re: Can any body clarify me !!
    @ 2002-06-06  1:51 22%   ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-06  1:51 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnafs1g8.aa1.randhol+abuse@kiuk0152.chembio.ntnu.no>...
> On 5 Jun 2002 11:40:38 -0000, anil kumar hosamani wrote:
> > Hi,
> >      I want one clarification in ADA programming. I want to keep 
> > .ADS file in separate directory. and its corresponding .ADB file 
> > in separate directory. How I can
> > done it to build the application.?
> 
> Why would you want to do that? It sounds to me that you will only have
> more problems editing your files this way.
> 
> Preben

It's a perfectly reasonable thing to want to do, since e.g. the specs
may need
to be shared but not the bodies, or there may be multiple
implementations of
the bodies in different directories. GNAT fully supports this, all the
necessary documentation is in the users guide.



^ permalink raw reply	[relevance 22%]

* Re: Syntactically correct spanish identifiers (Was: config files proposal)
  @ 2002-06-06  1:49 22%     ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-06-06  1:49 UTC (permalink / raw)


Jacob Sparre Andersen <sparre@nbi.dk> wrote in message news:<3CFE62B5.BEC2ED6B@nbi.dk>...
> Antonio Duran wrote:
> 
> > I'm from Spain and I usually write in Spanish
> > but when programming in Ada I must adhere to the Ada syntax, I can't
> > write Ada identifiers that are syntactically correct spanish words
> 
> Are you sure? I am almost certain that ISO-8859-1 is
> intended for writing Spanish. It is also the character
> encoding used for Ada source code.

yes, of course, the default interpretation of type Character is Latin-1 which
includes all necessary characters for writing Spanish, and this is also the
default interpretation of program sources, so identifiers can be written in
Spanish with proper upper/lower case equivalences.

What would be interesting is to know is what you (Antonio) read that made
you think otherwise???



^ permalink raw reply	[relevance 22%]

* Re: Localized Variable Declaration
  @ 2002-06-02 15:20 19%           ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-02 15:20 UTC (permalink / raw)


Darren New <dnew@san.rr.com> wrote in message news:<3CF79DFC.50613FAF@san.rr.com>...
> procedure .... is
>   begin
>     put_line("write two numbers");
>     declare
>       a : integer := read(...);
>       b : integer := read(...);
>       c : float := a * b * 42.42;
>     begin
>       put_line("answer = " & c'img);
>     end;
>   end;
> 
> or maybe something vaguely like that. :-)

well if we are going to give examples of good style to teach people
what Ada should look like, let's use good
style. There are two objections to the above. First it
has non-standard layout. There is no good reason for
using a layout other than the one recommended in the
RM in a case like this. Second, people overuse variables
all the time, and that's lazy (the latest versions of GNAT
warn you when you do this. Third, the assignment to C 
misleadingly implies that "mixed mode" artithmetic is allowed. Fourth,
the debugging attribute 'Img should not be used in a context like
this. Fifth, it is really good style to repeat procedure identifiers
in the end line. Sixth, it is better to copy the capitalization of
identifiers from the standard libraries. That's a lot of problems in a
few lines of code (I encourage everyone to compile code before
publishing here on the news group :-)

So let's correct that and write something that makes the
original point (which was valid and appropriately stated)
with correct code in good style:

> procedure .... is
> begin
>   Put_Line("write two numbers");
>   declare
>     a : constant Integer := Read (...);
>     b : constant Integer := Read (...);
>     c : constant Float := Float (a) * Float (b) * 42.42;
>   begin
>     Put_Line ("answer = " & Float'Image (c));
>   end;
> end ....;



^ permalink raw reply	[relevance 19%]

* Re: Localized Variable Declaration
  @ 2002-06-02 15:10 21%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-02 15:10 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<RhSJ8.1445$9w7.230361117@newssvr13.news.prodigy.com>...
> >is there any area that doesn't have Ada coming
> >in with more keystrokes/source lines?
>  But faster keystrokes, I suspect.  My fingers certainly type "begin"
> or "end" faster than the shifted "{" or "}".

Hmmm! I don't think incompetent typing skills are a good
argument to introduce. Most people in fact will type
the shifted {} faster. I can quite believe that some
would type it slower (for instance if they do not have
finger memory of where the curly keys are), but in any
case speed of typing is a 100% irrelevant argument when
it comes to discussingt the design of Ada.



^ permalink raw reply	[relevance 21%]

* Re: Localized Variable Declaration
  @ 2002-06-02 15:06 20%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-02 15:06 UTC (permalink / raw)


David Rasmussen <pinkfloydhomer@yahoo.com> wrote in message news:<3CF9EC9F.9020203@yahoo.com>...
> I have already explained the benefits. I am not saying that this is 
> always better, and I know it is largely a matter of taste. But I can 
> assure you that there are real-life benefits in terms of ease of 
> maintenance and readability to doing this. I think it comes down to what 
> you're used to.


No, you have not explained why it is useful to have special
syntax to say that the scope is from here to the end, rather than
explicitly specifying the scope. I find that
in practice the C++ convention encourages sloppy programming in which
you get scopes unintentially
left open, for example, people write

        int t;
        t = x; x = y; y = t;

for an exchange instead of the far preferable

        {
           int t;
           t = x; x = y; y = t;
        }

why preferable? because in the first form, you do not
know if it is important that the value of y ends up in
t, so you have to remember that in case.

Yes, the first form saves the writer two keystrokes but
in Ada we don't care to save the writer effort :-)



^ permalink raw reply	[relevance 20%]

* Re: Exceptions in GNAT
  @ 2002-06-02 15:02 19% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-02 15:02 UTC (permalink / raw)


David Rasmussen <pinkfloydhomer@yahoo.com> wrote in message news:<3CF9FB01.2070101@yahoo.com>...
> How do I compile for with most checks for debug builds, 
> and how do I compile with everything turned off 
> for performance intensive release builds?

As Jack Point says in "Yeomen of the Guard" (from memory
so it is undoubtedly paraphrased and not 100% Gilbert verbatim :-)

"I shall teach you my best jokes quips and conundrums, nay
I shall do more, I shall reveal the source whence I got
them"

The answer to these and all such questions is in the
GNAT users guide. It is a mistake to try using GNAT without
reading any documentation. That being said, the users guide
is a large document and you definitely do NOT need to read
it all before setting finger to keyboard. What you *should*
read is the summary of switches, since there is a lot of
useful material there. 

A simple way of getting a list of compiler options with
brief descriptions is to do gnatmake with no arguments.
They you can look down the list of -gnat switches with
one line descriptions. This will answer the two specific
questions you asked, as well as tell you about lots of
other useful switches (e.g. I think that most beginners
should use -gnatv if not -gnatl).



^ permalink raw reply	[relevance 19%]

* Re: Localized Variable Declaration
      @ 2002-06-01  0:58 18%         ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-06-01  0:58 UTC (permalink / raw)


David Rasmussen <pinkfloydhomer@yahoo.com> wrote in message news:<3CF78D3D.3030400@yahoo.com>...
> You can do the same thing in C++ by just doing
> 
> int whatever(int foo)
> {
>      ...
>      ...
>      { // local scope starts here
>           int local = 42;
>           ....
>      } // and ends here
>      ...
> }

Yes, sure, and the interesting thing is that in my experience it is far
more common to see extensive use of local declare blocks in Ada than it
is in C. I don't know why this is, because indeed narrowing the scope of
variables is an important issue for readability.

Personally I like a local declarative block being announced clearly with
declare, for me the use of { is too overloaded. For example:

   while (*a++ = *b++)
   {
      stuff
   }

and

   while (*a++ = *b++);
   {  
      stuff
   }

are uncomfortably close, and I prefer having a very definite keyword that
announces a local declare block.

As for not allowing declarations in the middle of statements, this is
very deliberate for several reasons.

Two significant reasons are:

The semantics of embedded declarations is nasty with respect to whether they
are allowed within control structures, what happens if a goto skips over them,
etc.

Forcing the use of a declare forces the writer to think about the scope of
the declarations that are introduced and end the scopes appropriately. The
C++ approach makes it easier for the programmer to ignore this, and by default
let the scope extend to the end.

Note that it is definitely not the case that C++ can do more than Ada here,
just that you have to be noisier about it in Ada. That's a choice we often
make, because we unconditionally favor the reader over the writer (for
example, consider unchecked conversion vs a cast).



^ permalink raw reply	[relevance 18%]

* Re: Ada has no continual line(s) ??
       [not found]           ` <ad6b5t$69t$1@charm.magnus.acs.ohio-state.edu>
@ 2002-05-31 14:50 21%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-31 14:50 UTC (permalink / raw)


"hongxun lee" <lee.1801@osu.edu> wrote in message news:<ad6b5t$69t$1@charm.magnus.acs.ohio-state.edu>...
> this (is exactly my worry) works well..
> 
> > x :string := "One ring to blahdy blah, "
> >      & "One ring to blahdy blahdy blah, "
> >      & "One ring to blahdy blah and bla ";


Actually this is a weakness in Ada. It is not always the
case that you can replace a long string literal with several string
literals concatenated together (it is
interesting to leave this up to the reader to figure
out when it fails :-)

There really should have been a lexical convention for
continuing long strings. An obvious one would simply be
to say that you can break a long literal into two, e.g. replace "long
string" by "long " whitespace "string".

In practice the exceptional cases are rare, but still
it is annoying to have nasty little exceptions like this.



^ permalink raw reply	[relevance 21%]

* Re: Ada has no continual line(s) ??
  @ 2002-05-31  3:30 22%       ` Robert Dewar
       [not found]           ` <ad6b5t$69t$1@charm.magnus.acs.ohio-state.edu>
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-31  3:30 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<97xJ8.18262$wd3.3068622@news6-win.server.ntlworld.com  > The compiler might throw away the &
> function and replace it with one long string in the above 
> case (if it was more efficient to do so), since the 
> expression doesn't involve a variable
> string, but that's just a guess.  Would GNAT do that?  


Yes, of course, this is essentially required by the language since
this is a static string expression as
defined in RM 4.9.



^ permalink raw reply	[relevance 22%]

* Re: Je n'ai jamais programmer un j'ai un programme  à  faire j'ai besoin d'aide si quelqu'un peut M'aider
  @ 2002-05-30 12:22 22%         ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-30 12:22 UTC (permalink / raw)


John Doe <sorry@charlie.kr> wrote in message news:<3CF53A75.4ACD08E1@charlie.kr>...
> > For someone to just post their homework assignment and
> > expect the folks "out there on the net" to do your
> > assignment for you is definitely going one step further
> > than we have seen before :-)
> 
> Seems to me we see that often.  :-)

Not quite in this form. I don't know if you read French, but what the
student did here was to cut and paste from the actual homework assignment.
Usually we see questions a little more abstracted (disguised? :-) than this!



^ permalink raw reply	[relevance 22%]

* Re: ON Topic: Ada for CP/M
  @ 2002-05-30  2:53 21%                     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-30  2:53 UTC (permalink / raw)


"Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> wrote in message news:<ad0b0g$mso$1@nh.pace.co.uk>...

> Considering you can do a full implementation of Ada for a machine that has
> *no* operating system whatsoever, that isn't exactly a bold and daring
> claim. :-)

You miss the point. Of course CP/M is perectly adequate to support Ada
from a functional view, but typical CP/M machines have VERY little memory,
typically not more than 64K bytes, and often less, and it is a little
daring to say you can fit a full Ada run-time in that small a space :-)



^ permalink raw reply	[relevance 21%]

* Re: Extended modal types
  @ 2002-05-29 23:36 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29 23:36 UTC (permalink / raw)


Anatoly Chernyshev <rhezusfactor@yahoo.com> wrote in message news:<3CF4F1A8.6A491F3@yahoo.com>...
> Well, this post got a surprising response, so I have to make some
> explanation on that.
> First, I beg your pardon for probable confusing of the terms. I did not
> think of modular types as a computer scientist, instead I just thought of
> some �cyclical� integer type, which will never overflow even being added
> with an �out of range� number. I found this type should mostly be the
> modular alike.

So please read my post carefully and explain why ordinary
modular types do not meet this need perfectly well?



^ permalink raw reply	[relevance 22%]

* Re: Record help
  @ 2002-05-29  9:57 22% ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  9:57 UTC (permalink / raw)


"tr4ck" <tr4ck@rediffmail.com> wrote in message news:<YbXI8.154473$xS2.12590841@news1.calgary.shaw.ca>...

> How is it possible to display just 1 line of 1111 SomeName instead of 3
> (Assuming the file has the same info 3 times)?

program an appropriate test to remove the duplicates.



^ permalink raw reply	[relevance 22%]

* Re: Extended modal types
  @ 2002-05-29  9:54 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  9:54 UTC (permalink / raw)


Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wccd6vfelbs.fsf@shell01.TheWorld.com>...

> Robert,
> 
> Your history is slightly wrong.  I never wanted to have non-binary
> modular types, and I agree with you that they are a mistake.

OK, sorry about that! So too bad you did not manage to eliminate them :-)



^ permalink raw reply	[relevance 22%]

* Re: Sockets
      2002-05-29  1:25 21%             ` Sockets Robert Dewar
@ 2002-05-29  1:28 22%             ` Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  1:28 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7v8z68fyd7.fsf@pushface.org>...

> I had problems with AdaSockets, I found GNAT.Sockets much easier to
> get on with. (Weren't they by the same author?)

Well GNAT.Sockets is part of GNAT, and authorship there is a shared
activity. We never implement anything like this without a general
discussion of the API. For sure GNAT.Sockets had the AdaSockets
as very visible input, so any differences between these packages
are 100% intentional :-)



^ permalink raw reply	[relevance 22%]

* Re: Sockets
    @ 2002-05-29  1:25 21%             ` Robert Dewar
  2002-05-29  1:28 22%             ` Sockets Robert Dewar
  2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  1:25 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7v8z68fyd7.fsf@pushface.org>...

> It was quite simple to get GNAT.Sockets working on VxWorks (NB, if you
> are using 3.14p with VxWorks I think you may find that GNAT.Sockets
> assumes Linux conventions for various constants, which are different
> from VxWorks -- and for once Linux is out on a limb. I have a patch,
> originally for 3.14a1, mail me at simon.j.wright@amsjv.com)

No, GNAT.Sockets does not assume Linux conventions. There are different
target dependent versions for various targets, including a VxWorks
specific set of units. We don't make judgments as to who is out on
a limb, but for sure there are differences and the current version
of GNAT.Sockets in GNAT Pro is implemented for all native targets
except OpenVMS, and all cross targets except Lynx (those two
will be filled in sometime in the near future).



^ permalink raw reply	[relevance 21%]

* Re: Extended modal types
  @ 2002-05-29  1:16 20%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  1:16 UTC (permalink / raw)


"Robert I. Eachus" <rieachus@attbi.com> wrote in message news:<3CF2C6AF.60607@attbi.com>...
> Florian Weimer wrote:

> You are probably thinking of public-key encryption where the keys and 
> modulii are too big for ordinary modular types anyway.   I was thinking 
> of many algorithms that use modular arithmetic to introduce 
> non-linearity, for example multiplying two four-bit nibbles mod 17.  In 
> cases like this, the modulus is a static part of the algorithm 
> definition, and needs to be prime for invertability.

The fact that there are many algorithms which need a particular datatype
with some particular properties is NOT a reason for putting the type into
the language as a primitive type.

All these arguments about cryptography and hashing were made in the URG
meeting which rejected the generalization of unsigned wrap around types
to general non-binary modulus values overwhelmingly. I think the URG had
it right and Ada 95 has it wrong.

There are lots and lots of types that belong in the language long before
non-binary modular types (one that jumps to mind as clearly more important
is multiple precision integer arithmetic -- but I would not put that in
either :-)



^ permalink raw reply	[relevance 20%]

* Re: Would an *AdaScript* language be a good / bad idea?
  @ 2002-05-29  1:11 17%             ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-29  1:11 UTC (permalink / raw)


"David Thompson" <david.thompson1@worldnet.att.net> wrote in message 

> But to my knowledge only CICS, and Tandem's roughly similar
> but much less known PATHWAY, support(ed) adding new modules
> transparently to a running program in the fashion of Java or
> AIUI Erlang or explicit DLL/so's, much less direct source execution
> like shells and awk/perl/etc.  (Admittedly CICS may be or have been
> the environment for more COBOL code than any single alternative.)

Well who knows what "in the fashion of Java" might mean. But it has
been standard in COBOL programs for many years, including those 
running on IBM mainframes, to add new modules dynamically at runtime.
Typically you have a file that contains a list of valid transaction
names. Then if a transaction name is validated against this list,
you simply do the CALL to process it. The form of CALL is

  CALL xxx USING yyy

where xxx is a dataname (variable) containing the name of the procedure
to call, and yyy are the parameters. The module containing the code for
xxx is loaded dynamically and the call made.

Now to add a new module to a running program without stopping it, we

a) compile and link the code for the new transaction

b) install the load module in the appropriate place where it can be located

c) update the file with the list of valid transactions to enable access to
the new transaction.

This is standard COBOL stuff and must work on any ANSI standard conforming
COBOL compiler.

Now of course, though semantically, all binding to subroutines (called
confusingly programs in COBOL, the term run unit being used to describe
what others call a program), is dynamic at runtime, in practice most
calls look like:

  CALL "STANDARD-ROUTINE" USING ...

So that the name is known at compile time, and typical COBOL systems provide
for static linking in cases like this (though of course this is outside
the standard in any case).

Off topic for Ada, sure, but it is always interesting to be aware of what
capabilities other languages have. I was demonstrating Realia COBOL and
its visual debugger to Jean Ichbiah and showing him how the debugger handled
this kind of dynamic linkage, and he was quite surprised to find that COBOL
had that feature (as are many others in the programming language field,
who seem to share a lack of knowledge of COBOL in common :-)



^ permalink raw reply	[relevance 17%]

* Re: Je n'ai jamais programmer un j'ai un programme  à faire j'ai besoin d'aide si quelqu'un peut M'aider
  @ 2002-05-28 20:50 20%     ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-28 20:50 UTC (permalink / raw)


Colin Paul Gloster <Colin_Paul_Gloster@ACM.org> wrote in message news:<slrnaf75mf.295.Colin_Paul_Gloster@syrah.ncl.ac.uk>...
> While news:fr.comp.lang.ada may have been worthwhile as 
> an alternative to news:comp.lang.ada

Most definitely so. Anyone writing French messages to
CLA can be expected to be redirected to new:fr.comp.lang.ada since
both french and english
speaking Ada folks prefer to recommend this.

> Non-English posts concerning Ada may be on
> topic in news:comp.lang.ada.

Well you can ask questions in Klingon if you like, this
is not a moderated group, but you are only likely to get
useful answers in English (it's hard enough to get useful
and accurate answers even in English).

Of course this particular post was completely amazing.
For someone to just post their homework assignment and
expect the folks "out there on the net" to do your 
assignment for you is definitely going one step further
than we have seen before :-)



^ permalink raw reply	[relevance 20%]

* Re: slice'access?
  @ 2002-05-26 14:22 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-26 14:22 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<_gVH8.619$9J7.68226356@newssvr14.news.prodigy.com>...
> >    Slice : aliased String := S (X .. Y);
> >    Ptr : String_Pointer;
> > begin
> >    Ptr := Slice'[Unchecked_]Access;
>   But that's a pointer to a string, not a slice.  The 
> string is
> initialized by copying, which is what I'm trying to 
> avoid.

And that is obviously impossible (except by using
unrestricted_access in GNAT, and there you have
to be careful about the scope of the created bounds template.



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
  @ 2002-05-26  2:05 22%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-26  2:05 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<CtUH8.6089$Uk6.853831@news6-win.server.ntlworld.com>.

> I wasn't recommending anything.  I simply asked why a
> warning was generated instead an error, and you've 
> answered that.

Fair enough. Note that in practice we always run with -gnatwe, so
warnings are treated as errors anyway.



^ permalink raw reply	[relevance 22%]

* Re: ON Topic: Ada for CP/M
  @ 2002-05-25 22:57 22%                 ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-25 22:57 UTC (permalink / raw)


"Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> wrote in message news:<WdPH8.6060$Np5.1189@nwrddc01.gnilink.net>...
> "Robert Dewar" <dewar@gnat.com> wrote in message
> > I think I still have my copy of CPM :-)
> 
> That reminds me of a former co-worker who was a big CP/M fan. He told me
> once that there was a CP/M - based Janus compiler for a small subset of Ada.
> Has anyone here heard of it? I'm curious about how much of the language they
> could do under CP/M.


You could certainly do a full language compiler for a
CP/M machine if there was a demand ...



^ permalink raw reply	[relevance 22%]

* Re: Microsoft takes on ACT
  @ 2002-05-25 22:41 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 22:41 UTC (permalink / raw)


sk <noname@myob.com> wrote in message news:<mailman.1022183821.28428.comp.lang.ada@ada.eu.org>...

> Does a "smart-bomb" hitting the target constitute a
> release of the application ? 

I know there is an implicit smiley here, but still, just
to answer this, of course such delivery systems would almost never be
under the GPL so this is an (entertaining)
rhetorical question



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
  @ 2002-05-25 22:37 21%           ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-25 22:37 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<H9QH8.4661$Uk6.618094@news6-win.server.ntlworld.com>.> ok, in view of that I agree it's a useful addition but 
> why only warnings? Surely to reference a thing you've 
> said you won't is an error not only warning worthy?

Because we read the RM, and try to follow it carefully :-)

Read the implementation advice in 2.8(17-19):

17   Normally, an implementation should not define pragmas that can
make an illegal program legal, except as follows:

   18  A pragma used to complete a declaration, such as a 
       pragma Import;

   19  A pragma used to configure the environment by 
       adding, removing, or replacing library_items.

Since this pragma does neither, you are recommending a
violation of advice in the RM :-) and we would have to
document this in Annex M saying why we are doing it!



^ permalink raw reply	[relevance 21%]

* Re: Ada -vs- GNAT
    @ 2002-05-25 22:31 19%       ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 22:31 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<BsOH8.1754$t8.377092@news11-gui.server.ntli.net>...

> No, having two pragmas that do the same thing is what IMO 
> is clutter (when just one will do, and there's one
> already present)

> I'm relying on what Steve posted, and don't know if 
> there's any other difference related to this pragma apart 
> from the shorthand.

 Do you imagine that we would have two pragmas that
 did exactly the same thing in a case like this (where we
 are introducing the pragmas?) [we do have some equivalent
 pragmas when we are copying pragmas from others :-)]

 And that if we did, we would perturb the bootstrap path
 to replace a pragma by something equivalent?

We are not that lunatic :-)

pragma Warnings (Off, entity) kills *all* warnings for the
given entity. It is a blunt tool indeed for this purpose.

pragma Unreferenced (Entity) is a specification that the
given entity is intentionally unreferenced. It not only
kills the warning for the entity not being referenced, but
it also generates a warning if it *is* referenced. In other
words it is a clear specification. Also it does NOT kill
any other warnings related to the entity.

So pragma Unreferenced is really *far* more appropriate. It
is more effective and much more clearly self documenting as
to what is going on.

We *far* prefer to use pragma Unreferenced for unreferenced
formals, but we can't do it yet, because it would create
a bootstrap path problem.



^ permalink raw reply	[relevance 19%]

* Re: Ada -vs- GNAT
  @ 2002-05-25 22:23 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 22:23 UTC (permalink / raw)


"Steve Doiel" <nospam_steved94@attbi.com> wrote in message news:<8tNH8.76854$L76.130053@rwcrnsc53>...
> "Preben Randhol" <randhol+abuse@pvv.org> wrote in message
> news:slrnaeug17.pa.randhol+abuse@kiuk0156.chembio.ntnu.no...
> > On Sat, 25 May 2002 02:47:52 GMT, Steve Doiel wrote:
> > >
> > > Recently I did some work with XML/Ada and found a few pieces code
>  dependent
> > > on the GNAT specific attributes 'img and 'unrestricted_access.  I was
>  able
> > > to make the code work with ObjectAda (and any other Ada compiler) by
>  making
> > > a few small changes to the sources.
> >
> Why not use
>      Put_Line( Some_Type'Image( Some_Value ) )
> 
> and avoid the habit of using non-standard features.

Because when you are writing debugging statements, it is
a time when convenience of writing dominates maintenance
and readability concerns (since they don't arise). So 
that's when 'Img is useful (although we had in mind 
originally that 'Img should remove the dratted space
in front of integers and also allow arrays, records etc).
(again for convenience of debugging).



^ permalink raw reply	[relevance 22%]

* Re: slice'access?
  @ 2002-05-25 16:47 20%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 16:47 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<1KGH8.384$9_7.69072060@newssvr13.news.prodigy.com>...
> Is there a nice way to create an access to a slice? eg

> type p is access all string;
> s : aliased string:="12345";
> ptr : p := s'access; -- OK
> ptr : p := s(2 .. 4)'access; -- ??


The answer of course is no. The RM does not allow this
and if you think for just a moment it is obvious why. The
usual representation of bounds for an array is to have the
bounds immediately before the data, but of course that
would be incompatible with allowing access of a slice.
So to allow this would be a huge earthquake for most
compilers.

Now in GNAT, fat pointers allow separation of the data
and the bounds, so GNAT can accomodate this. Of course
it cannot allow the clearly illegal construction above,
but if you use 'unrestricted_access then the above code
is valid in GNAT. Of course if you use a compiler that 
does not implement the Unrestricted_Access attribute,
you are out of luck.



^ permalink raw reply	[relevance 20%]

* Re: Array problem
    2002-05-25 16:30 21%     ` Robert Dewar
@ 2002-05-25 16:38 20%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 16:38 UTC (permalink / raw)


"Andreas Lans" <b99andla@student.his.se> wrote in message news:<yeIH8.39886$n4.8879213@newsc.telia.net>...

> Well, I tried the thing you tipped me about, and I also 
> tried just to put a
> one in there just to see if it would work, but it still 
> says Illegal operand
> for array conversion, any thoughts on this?

If you see a message like this, approach it systematically.
There are two cases, either you intended an array conversion or you
did not intend it. Clearly the compiler
thinks you intended it.

Either way, you need to find out by reading your text book
what an array conversion looks like (not hard since it is
the same as any other type conversion). 

Now if you did not intend an array conversion, then figure
out what you did intend clearly, and look up how to achieve
it (if you guessed, you obviously guessed wrong).

If you DID intend an array conversion, then look up the
rules to see why this operand is not legal for an array
conversion.

That's the sort of way to approach figuring out something
like this on your own.

You may well find it helpful to run one of the online tutorials if you
are feeling generally confused by what
you are doing.



^ permalink raw reply	[relevance 20%]

* Re: Array problem
  @ 2002-05-25 16:30 21%     ` Robert Dewar
  2002-05-25 16:38 20%     ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 16:30 UTC (permalink / raw)


"Andreas Lans" <b99andla@student.his.se> wrote in message news:<yeIH8.39886$n4.8879213@newsc.telia.net>...

> Well, I tried the thing you tipped me about, and I also tried just to put a
> one in there just to see if it would work, but it still says Illegal operand
> for array conversion, any thoughts on this?


Well we can certainly see the iteration in progress here
(perhaps if I ask for enough help enough times people will
write the entire program for me :-)

Andreas, the assignment is to figure this out for yourself!
Read about array conversions in your text book, or if you
can't find it there, go look up what an array conversion
is and you should be able to figure out the problem.



^ permalink raw reply	[relevance 21%]

* Re: Sockets
  @ 2002-05-25 15:58 22%               ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:58 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnaeuigj.pa.randhol+abuse@kiuk0156.chembio.ntnu.no>...
>    GNAT.Sockets is officially supported by ACT while AdaSockets is not.
>    GNAT.Sockets will always follow the simplest possible model, while
>       AdaSockets won't.
>    GNAT.Sockets is not object-oriented, AdaSockets is.
>    GNAT.Sockets supports JGNAT, while AdaSockets don't.
> 

GNAT.Sockets is also implemented on more targets



^ permalink raw reply	[relevance 22%]

* Re: Extended modal types
  @ 2002-05-25 15:57 15% ` Robert Dewar
        1 sibling, 2 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:57 UTC (permalink / raw)


Anatoly Chernyshev <rhezusfactor@yahoo.com> wrote in message news:<3CEDFF90.B94D7E32@yahoo.com>...
> and one cannot use arbitrary modular
> range,
> for example, like -100..345.

I can't even guess what an arbitrary modular range might be. Modular
refers to the fact that integer values are
represented by their (positive) remainder value when
divided by the modulus in use. Thus modular types can
never have negative numbers. 

If you are talking about wrap around types, then sure
you can get the effect you want. For example, in the
above case, you can define a type that is

   type r is mod 446;

Now you represent numbers in the range -100 .. 345 using
this type, and for example if you say

   rr : r := -100;

then the actual value would be 346.

The only thing you might want is an output routine that
understands this convention (which in fact is very similar
to how twos complement works).

But this is all a guess, since the term extended modular
type is meaningless.


Also I must say it is plain bizarre to get excited about
the prospect of such a peculiar special purpose feature (to
me even allowing non-binary modulus values is a mistake.

Actually a bit of history as to how this mistake came to
pass is of interest:

The URG agreed to provide unsigned types using a modular
type approach with binary modulus values that corresponded
to natural word sizes of the machine (much as C does).

We agreed to extend it to arbitrary powers of 2, since
an AND instruction is cheap on all machines.

Someone proposed (Bryce Bardin perhaps, apologies if that
is a wrong memory) extending this to non-binary values. The
vote in the URG was N-1 *against* this extension on the
grounds that it was frivolous (you can always program this
if you need it).

The Ada 9X design team put in general modular types, and
I and a couple of other people complained that it was a
feature that could not be justified.

Tuck and Bob responded that they had a commitment to 
implement the URG recommendations, and claimed that the
URG had recommended this. As chair of the URG, I knew
just how wrong this was :-) 

Turned out they had used as gospel the rejected proposal
for general modular types, assuming that the URG had
accepted it.

By that time, the feature was out, and featuritis had
set in and enough people were in favor that it stayed in.
Since it was not that much of a pain to implement, it
was not worth fighting.

But I find it a bit of nonsense in the
language (especially the weird semantics of NOT. For
example:

with Text_IO; use Text_IO;
procedure q is
  type r is mod 446;
  x : r := 13;

begin
   Put_Line (r'Image (not x));
end;

prints 432, and I do not find anything reasonable or
intuitive about that result :-)

To me this is orthogonality in language design run amok!



^ permalink raw reply	[relevance 15%]

* Re: OT: Microsoft takes on history
    2002-05-25 11:19 20%             ` Robert Dewar
@ 2002-05-25 15:41 22%             ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:41 UTC (permalink / raw)


"Frank J. Lhota" <NOSPAM.FrankLho@rcn.com> wrote in message news:<acmn8f$lmd$1@bob.news.rcn.net>...

> I think it's time to move this thread to a history of 
> computing NG.

Well this is surely more interesting than these endless
Ada advocacy threads that take place on CLA every now
and then :-)



^ permalink raw reply	[relevance 22%]

* Re: OT: Microsoft takes on history
  @ 2002-05-25 15:40 22%                 ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:40 UTC (permalink / raw)


"Frank J. Lhota" <NOSPAM.FrankLho@rcn.com> wrote in message news:<acnp5u$a28$1@bob.news.rcn.net>...
>  If your point is that US consumers are not willing to pay more for
> enviromentally friendly products, I can think of many counterexamples. In
> several areas of the country, you can now choose your electric company. When
> consumers were given a choice, many opted for energy producers who charged
> substantially higher rates, but promised to generate the electricity more
> cleanly.


Can you cite chapter and verse on this? Sounds like the
kind of thing that someone heard someone else say and
uncritically passed it on. People always like to pass
on things that are consistent with their political
agendas :-)



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
  @ 2002-05-25 15:37 21%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-25 15:37 UTC (permalink / raw)


"chris.danx" <spamoff.danx@ntlworld.com> wrote in message news:<UwHH8.1309$Uk6.141589@news6-win.server.ntlworld.com>.

> To me it's just clutter, but what do I know?

What are you saying is clutter here? Using either pragma
in this case? If so, you are definitely wrong. Without
either of these two pragmas, the code is illegal in the
context say of the GNAT library which can only be compiled
with -gnatg, so you MUST use one of these two pragmas. I
hope no one thinks the gnat run time library should be
independent of GNAT :-)



^ permalink raw reply	[relevance 21%]

* Re: Ada -vs- GNAT
    @ 2002-05-25 15:35 22%   ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:35 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnaeug17.pa.randhol+abuse@kiuk0156.chembio.ntnu.no> > The 'Img I only use
> for debugging purposes as it is faster to put in a 
> 
>    Put_Line (Some_Value'Img)
> 
> which will be removed as soon as I locate the problem.

Indeed! That's what it is for. Using 'Img in distributed
code is just a careless mistake. If you can't trust yourself to avoid
such careless mistakes, use the
Restrictions pragma :-)



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
  @ 2002-05-25 15:34 22%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 15:34 UTC (permalink / raw)


Kilgallen@SpamCop.net (Larry Kilgallen) wrote in message news:<PWSwxbVFvr+Q@eisner.encompasserve.org>...
> I am not in a position to say whether GNAT currently has 
> such an option.

Sure you are! The documentation is freely available :-)

See my previous post on pragma Restrictions. That feature
has been in GNAT for a long long time.



^ permalink raw reply	[relevance 22%]

* Re: Array problem
    @ 2002-05-25 11:30 20%   ` Robert Dewar
  1 sibling, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 11:30 UTC (permalink / raw)


Preben Randhol <randhol+abuse@pvv.org> wrote in message news:<slrnaetfpu.333.randhol+abuse@kiuk0156.chembio.ntnu.no>...

I see a lot of posts recently where people are in my opinion
harming students by doing their homework for them. You would
be surprised how many students manage to do their assignments
by the following algorithm.

  {Write some rubbish approximation to the right code}

  while not ready to hand in yet do

    Ask someone for their help
    Get back improved code, and some helpful discussion
    Ignore the helpful discussion
    Replace old code with new improved code

  end loop;

And the result is that students can complete assignments knowing
nothing at all about what they are doing. The important learning
experience of an assignment comes from tackling problems yourself.

So I would urge those in CLA who want to be helpful to stick to
helpful discussions, and NOT to provide improved code or too
detailed an analysis of what the problem is.



^ permalink raw reply	[relevance 20%]

* Re: Help with Copying Shared Memory to Local
  @ 2002-05-25 11:23 22%   ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 11:23 UTC (permalink / raw)


Jeffrey Carter <jrcarter@acm.org> wrote in message news:<3CED51CF.39E26FC6@acm.org>...

> There's about a 9 out of 10 chance that this system does not need to be
> dealing with addresses; that this way of doing things was dreamed up by
> a C person who lacked the necessary familiarity with Ada 83 to be
> competent to create this specification. I have seen this kind of misuse
> of the language far too many times for it to be likely that this case is
> different.

OK, so we await your Ada 83 solution, given this criticism

> A : Storage_Array (1 .. Storage_Length);
> for A'Address use Destination;
> pragma Import (Ada, A);
> 
> B : Storage_Array (1 .. Storage_Length);
> for B'Address use Source;
> pragma Import (Ada, B);

OUCH! This is erroneous code in Ada 83, so surely you are not saying that
an Ada 83 programmer should have used this approach?



^ permalink raw reply	[relevance 22%]

* Re: OT: Microsoft takes on history
  @ 2002-05-25 11:19 20%             ` Robert Dewar
    2002-05-25 15:41 22%             ` OT: Microsoft takes on history Robert Dewar
  1 sibling, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-25 11:19 UTC (permalink / raw)


"Frank J. Lhota" <NOSPAM.FrankLho@rcn.com> wrote in message news:<acmn8f$lmd$1@bob.news.rcn.net>...

> In the first years of the IBM/PC, IBM and Microsoft were indeed partners. It
> was this partnership that produced MS-DOS as the standard OS for IBM's first
> personal computer. 

That's misleading. When the PC came out, it was sold without an operating
system. I remember well going into the IBM store (IBM was briefly in the
retail business) and buying a machine, and then I asked about the operating
system. I was pointed to a bin marked operating systems. I found UCSD, CPM
and MS/DOS. I bought a copy of CPM and MS/DOS, and played with both. MS/DOS
at that time was purely a microsoft product, and was not specially pushed
by IBM, although most certainly IBM had help cause it to be produced. In
practice MS/DOS won out in the market place over the other alternatives,
because for one thing it was a fraction of the price of the alternatives.

I think I still have my copy of CPM :-)



^ permalink raw reply	[relevance 20%]

* Re: Ada -vs- GNAT
                     ` (4 preceding siblings ...)
  2002-05-25 11:02 18% ` Robert Dewar
@ 2002-05-25 11:09 20% ` Robert Dewar
    6 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 11:09 UTC (permalink / raw)


"Steve Doiel" <nospam_steved94@attbi.com> wrote in message news:<sXCH8.103053$Po6.225647@rwcrnsc52.ops.asp.att.net>...

> Since I am not currently a supported customer of ACT, I have no grounds to
> complain, but am interested in what other people think.

Seeing as 

a) many/most of the implementation dependent pragmas/atttributes come from
customer requests

b) we never have had the experience of supported customers complaining about
extra features that they don't have to use. Probably this is because large
serious Ada projects are very careful to specify what features they can or
cannot use, and very clear about portability requirements [for many of our
customers running their apps on non-GNAT compilers is not an issue]

It's probably not relevant. The important rule is not to use implementation
dependent features if you don't want to be dependent on the implementation.
That's a pretty simple rule to follow (and trivial to follow in the case of
pragmas and attributes as noted previously.



^ permalink raw reply	[relevance 20%]

* Re: Ada -vs- GNAT
    @ 2002-05-25 11:04 22%   ` Robert Dewar
    2 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 11:04 UTC (permalink / raw)


Simon Wright <simon@pushface.org> wrote in message news:<x7vlma8g8m9.fsf@pushface.org>...

> Of course pragma Warnings is implementation-defined too.

But absolutely essential in my view. Because it is very important to always
compile with warnings turned on, but it is in the nature of warnings to
generate false positives sometimes, and you need a way of turning them off.

Robert dewar
Ada Core Technologies



^ permalink raw reply	[relevance 22%]

* Re: Ada -vs- GNAT
                     ` (3 preceding siblings ...)
  2002-05-25 10:49 19% ` Robert Dewar
@ 2002-05-25 11:02 18% ` Robert Dewar
  2002-05-25 11:09 20% ` Robert Dewar
    6 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 11:02 UTC (permalink / raw)


"Steve Doiel" <nospam_steved94@attbi.com> wrote in message news:<sXCH8.103053$Po6.225647@rwcrnsc52.ops.asp.att.net>...

>   pragma Warnings (Off, entitiy)
> 
> could be replaced by
> 
>   pragma Unreferenced (entity)
> 
> because the latter is "neater, reads better, and is clearer why it is
> there."
> 
> In the GCC context this type of change requires that GCC 3.2 be built with
> GCC 3.1 and no earlier version.

We have *always* had an absolute rule that any version of GNAT must be
built
with the previous version. In the GCC FSF context, some have argued
for relaxing this requirement, and indeed have tried violating it,
sometimes
with the result of running into very strange and difficult problems.

So I *strongly* advise anyone building GNAT to do so using the
previous
version, whatever you might read elsewhere. No point in buying
problems
you don't need.

Why do we recommend this?

a) because that's the way we test things, why pioneer untested
territory

b) because we dislike keeping bootstrap path kludges in the sources
any longer
than necessary. The particular example above is a good one. Pragma
Warnings (Off) is a blunt tool which may suppress other relevant
warnings (as you
probably know GNAT sources require no warnings ever to be generated).
The
new Unreferenced pragma is extremely useful for keeping the valuable
new
warning on unreferenced parameters whlie allowing it to be selectively
turned off where necessary.

I actually am arguing very strongly for 3.2 to require 3.1 in the FSF
environment for all sorts of reasons (it is interesting to note that
those
arguing against it are people who are typically outside the Ada
community
who are used to being able to compile C with any old compiler :-)

Robert Dewar
Ada Core Technologies



^ permalink raw reply	[relevance 18%]

* Re: Ada -vs- GNAT
  @ 2002-05-25 10:58 17%     ` Robert Dewar
  0 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 10:58 UTC (permalink / raw)


tmoran@acm.org wrote in message news:<CAFH8.366$JA7.67654820@newssvr13.news.prodigy.com>...

> >from the Booch Components, which are meant to be, and to a large
> >extent are, compiler-independent. On the other hand, given that GNAT
> >is my preferred compiler (for all sorts of reasons), I felt quite
> >happy to use 'Object_Size when appropriate.

In fact Object_Size is most certainly an essential capability. It was one
of the very unfortunate last minute changes to the Ada 9X spec that you cannot
specify size for subtypes. People are always very confused by the fact that
the size attribute is called subtype specific, but you cannot apply it to
subtypes. What happens is that the compiler is free to assign different
sizes to subtypes (and in some cases forced to by the standard), but the
user has no control whatever over these sizes.

> Which is like being a little bit pregnant.  It means the potential user
> must:  switch to Gnat; start a new branch of the update tree; or not use
> your package.  It makes life simpler for you, harder for your users, and
> (possibly) richer for ACT.  Just remember all those consequences of your
> decision.

Obviously in general packages you do not use non-portable constructs unless
needed. But I want to emaphasize again that there are many many ways of making
code non-portable. Annex M has a lot of entries in it. In our experience when
porting from one compiler to another, attributes and pragmas are unlikely to
be a source of major difficulties, compared to rep clauses and non-portable
use of constructs like address clauses.

It is of course perfectly reasonable to make packages GNAT speicific if there
is some particular gain in doing so. You just have to be sure that such a
package is clearly marked. For example, some packages are designed to work
in an intimate way with the GNAT run time, and obviously such packages are
likely to be GNAT dependent. As for portability, you are not doing so badly
if you make something GNAT dependent, since GNAT is implemented on a wider
range of machines than any other compiler. Indeed I would think a much more
limiting decision is to use packages that are tied to one particular machine
or proprietary operating systems.



^ permalink raw reply	[relevance 17%]

* Re: Ada -vs- GNAT
                     ` (2 preceding siblings ...)
  @ 2002-05-25 10:49 19% ` Robert Dewar
  2002-05-25 11:02 18% ` Robert Dewar
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Robert Dewar @ 2002-05-25 10:49 UTC (permalink / raw)


"Steve Doiel" <nospam_steved94@attbi.com> wrote in message news:<sXCH8.103053$Po6.225647@rwcrnsc52.ops.asp.att.net>...

> Personally I find the introduction of attributes and pragmas that are not
> essential to be undesirable.

Well of course essential is somewhat in the eye of the beholder, but
if you
want to be sure of not using any non-standard pragmas you can use

pragma Restrictions (No_Implementation_Pragmas);

and/or

pragma Restrictions (No_Implementation_Attributes);

All Ada compilers introduce implementation pragmas and attributes.
Furthermore
there are of course dozens of oher ways in which the behavior of code
can be
implementation dependent (see annex M of the standard).

Note that the restrictions above are also implementation dependent,
but the
ARG has recommended that these be added to the language (along with
some other
attributes and pragmas introduced by GNAT, including Unsuppress).

By the way, you were lucky that you could get around the use of
Unrestricted_Access. When applied to procedures, this provides very
important (essential?) capabilities that are just not obtainable
easily any other way (it is a real shame that the language got a bit
crippled here by concerns of specific vendors about transitioning
their existing Ada 83 compilers).



^ permalink raw reply	[relevance 19%]

* Re: Sockets
  @ 2002-05-23  2:34 22%   ` Robert Dewar
    0 siblings, 1 reply; 200+ results
From: Robert Dewar @ 2002-05-23  2:34 UTC (permalink / raw)


"Randy Brukardt" <randy@rrsoftware.com> wrote in message news:<uenpeerelvspf8@corp.supernews.com>...

> Claw.Sockets has been tested on all of the Windows compilers, it is not
> specific to a single compiler as GNAT.Sockets is.
> 
>              Randy Brukardt.

Incidentally, I don't know whether or not GNAT.Sockets would work on other
windows compilers, it might well. Most certainly we have not bothered to
test this out :-)



^ permalink raw reply	[relevance 22%]

Results 1-200 of ~7510   | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2001-06-22 17:33     Looping over a tagged record? Charles Hixson
2002-05-25  7:06     ` slice'access? tmoran
2002-05-25 16:47 20%   ` slice'access? Robert Dewar
2002-05-14  4:51     Would an *AdaScript* language be a good / bad idea? James Ross
2002-05-14 14:18     ` Robert Dewar
2002-05-15 12:56       ` Steve Doiel
2002-05-16  2:46         ` Robert Dewar
2002-05-16 16:04           ` Darren New
2002-05-18  2:59             ` Robert Dewar
2002-05-28  0:31               ` David Thompson
2002-05-29  1:11 17%             ` Robert Dewar
2002-05-15  0:29     Je n'ai jamais programmer un j'ai un programme � faire j'ai besoin d'aide si quelqu'un peut M'aider Johanne
2002-05-15 16:53     ` Je n'ai jamais programmer un j'ai un programme à " Pascal Obry
2002-05-28 14:38       ` Colin Paul Gloster
2002-05-28 20:50 20%     ` Robert Dewar
2002-05-29 20:30           ` John Doe
2002-05-30 12:22 22%         ` Robert Dewar
2002-05-16 11:27     64-bit integers in Ada David Rasmussen
2002-07-29 15:33     ` Victor Giddings
2002-07-29 20:15       ` Robert A Duff
2002-07-30 18:35         ` Richard Riehle
2002-07-31  0:13 19%       ` Robert Dewar
2002-07-31  4:17             ` Keith Thompson
2002-07-31 13:20               ` Robert A Duff
2002-07-31 13:42                 ` Marin David Condic
2002-08-01  7:54                   ` Lutz Donnerhacke
2002-08-01 13:07                     ` Marin David Condic
2002-08-02  7:31                       ` Lutz Donnerhacke
2002-08-02 13:21                         ` Marin David Condic
2002-08-03 12:24 18%                       ` Robert Dewar
2002-08-03 18:59                             ` Richard Riehle
2002-08-04 14:07 16%                           ` Robert Dewar
     [not found]                               ` <5ee5b646.0208040607.ebb6909@posting.googOrganization: LJK Software <PG2KS5+doDWm@eisner.encompasserve.org>
2002-08-05  1:44 19%                             ` Robert Dewar
2002-08-05  1:48 20%                             ` Robert Dewar
2002-08-13 21:09                             ` Randy Brukardt
2002-08-18  1:01                               ` AG
2002-08-20  0:15 22%                             ` Robert Dewar
2002-07-30  4:29 20%   ` Robert Dewar
2002-05-22  8:00     Sockets ProLogic
2002-05-22 18:39     ` Sockets Randy Brukardt
2002-05-23  2:34 22%   ` Sockets Robert Dewar
2002-05-24  3:02         ` Sockets Steve Doiel
2002-05-24 13:58           ` Sockets Marin David Condic
2002-05-25  7:21             ` Sockets Preben Randhol
2002-05-25  8:03               ` Sockets Simon Wright
2002-05-25  8:23                 ` Sockets Preben Randhol
2002-05-25 15:58 22%               ` Sockets Robert Dewar
2002-05-29  1:25 21%             ` Sockets Robert Dewar
2002-05-29  1:28 22%             ` Sockets Robert Dewar
2002-05-23 13:50     Help with Copying Shared Memory to Local John Cupak
2002-05-23 20:32     ` Jeffrey Carter
2002-05-25 11:23 22%   ` Robert Dewar
2002-05-23 15:24     Microsoft takes on ACT Ted Dennison
2002-05-23 19:54     ` sk
2002-05-25 22:41 22%   ` Robert Dewar
2002-05-23 18:01     Wes Groleau
2002-05-23 18:30     ` tmoran
2002-05-23 21:21       ` Marin David Condic
2002-05-24 14:02         ` Preben Randhol
2002-05-24 18:45           ` OT: Microsoft takes on history Frank J. Lhota
2002-05-24 19:05             ` Preben Randhol
2002-05-24 19:51               ` Marin David Condic
2002-05-25  8:12                 ` Preben Randhol
2002-05-25 10:31                   ` Frank J. Lhota
2002-05-25 15:40 22%                 ` Robert Dewar
2002-05-24 20:29             ` David Marceau
2002-05-25  0:52               ` Frank J. Lhota
2002-05-25 11:19 20%             ` Robert Dewar
2002-05-25 16:46                   ` ON Topic: Ada for CP/M Frank J. Lhota
2002-05-25 22:57 22%                 ` Robert Dewar
2002-05-28 16:24                       ` Marin David Condic
2002-05-30  2:53 21%                     ` Robert Dewar
2002-05-25 15:41 22%             ` OT: Microsoft takes on history Robert Dewar
2002-05-24  8:53     Extended modal types Anatoly Chernyshev
2002-05-25 15:57 15% ` Robert Dewar
2002-05-25 18:06       ` Frank J. Lhota
2002-05-25 18:40         ` Florian Weimer
2002-05-27  4:57           ` Robert I. Eachus
2002-05-27  5:52             ` Florian Weimer
2002-05-27 23:47               ` Robert I. Eachus
2002-05-29  1:16 20%             ` Robert Dewar
2002-05-29  2:31       ` Robert A Duff
2002-05-29  9:54 22%     ` Robert Dewar
2002-05-29 15:20     ` Anatoly Chernyshev
2002-05-29 23:36 22%   ` Robert Dewar
2002-05-24 22:09     Array problem Andreas Lans
2002-05-24 22:31     ` Preben Randhol
2002-05-25  8:49       ` Andreas Lans
2002-05-25 16:30 21%     ` Robert Dewar
2002-05-25 16:38 20%     ` Robert Dewar
2002-05-25 11:30 20%   ` Robert Dewar
2002-05-25  2:47     Ada -vs- GNAT Steve Doiel
2002-05-25  4:21     ` Simon Wright
2002-05-25  5:48       ` tmoran
2002-05-25 10:58 17%     ` Robert Dewar
2002-05-25 11:04 22%   ` Robert Dewar
2002-05-25 11:51       ` Larry Kilgallen
2002-05-25 15:34 22%     ` Robert Dewar
2002-05-25  7:41     ` Preben Randhol
2002-05-25 14:46       ` Steve Doiel
2002-05-25 22:23 22%     ` Robert Dewar
2002-05-25 15:35 22%   ` Robert Dewar
2002-05-25  8:00     ` chris.danx
2002-05-25 15:37 21%   ` Robert Dewar
2002-05-25 15:53         ` chris.danx
2002-05-25 17:02           ` Pascal Obry
2002-05-25 17:50             ` chris.danx
2002-05-25 22:37 21%           ` Robert Dewar
2002-05-25 22:44                 ` chris.danx
2002-05-26  2:05 22%               ` Robert Dewar
2002-05-25 22:31 19%       ` Robert Dewar
2002-05-25 10:49 19% ` Robert Dewar
2002-05-25 11:02 18% ` Robert Dewar
2002-05-25 11:09 20% ` Robert Dewar
2002-06-07 22:39     ` Randy Brukardt
2002-06-08 12:14 22%   ` Robert Dewar
2002-06-08 19:37         ` SteveD
2002-06-09 12:13 22%       ` Robert Dewar
2002-06-09 18:05 22%       ` Robert Dewar
2002-05-25 20:20     slice'access? Jeffrey Carter
2002-05-25 23:39     ` slice'access? tmoran
2002-05-26 14:22 22%   ` slice'access? Robert Dewar
2002-05-29  2:39     Record help tr4ck
2002-05-29  9:57 22% ` Robert Dewar
2002-05-30 16:20     Ada has no continual line(s) ?? hongxun lee
2002-05-30 16:26     ` John McCabe
2002-05-30 17:41       ` hongxun lee
2002-05-30 21:48         ` chris.danx
2002-05-31  3:30 22%       ` Robert Dewar
     [not found]           ` <ad6b5t$69t$1@charm.magnus.acs.ohio-state.edu>
2002-05-31 14:50 21%         ` Robert Dewar
2002-05-31 13:24     Localized Variable Declaration David Rasmussen
2002-05-31 13:32     ` martin.m.dowie
2002-05-31 13:38       ` David Rasmussen
2002-05-31 13:50         ` martin.m.dowie
2002-05-31 14:48           ` David Rasmussen
2002-05-31 15:26             ` martin.m.dowie
2002-05-31 15:45               ` David Rasmussen
2002-06-02  2:21                 ` steve_H
2002-06-02  9:59                   ` David Rasmussen
2002-06-02 15:06 20%                 ` Robert Dewar
2002-05-31 21:53               ` tmoran
2002-06-02 15:10 21%             ` Robert Dewar
2002-05-31 15:59             ` Darren New
2002-06-02 15:20 19%           ` Robert Dewar
2002-06-01  0:58 18%         ` Robert Dewar
2002-06-02  0:25     Ada compiler for protected-mode 80286? Dave Littell
2002-06-08 12:02 22% ` Robert Dewar
2002-06-02 11:01     Exceptions in GNAT David Rasmussen
2002-06-02 15:02 19% ` Robert Dewar
2002-06-02 16:07     config files proposal Stephen Leake
2002-06-04 15:41     ` Antonio Duran
2002-06-05 19:12       ` Syntactically correct spanish identifiers (Was: config files proposal) Jacob Sparre Andersen
2002-06-06  1:49 22%     ` Robert Dewar
2002-06-07  8:07           ` Antonio Duran
2002-06-07 15:37 22%         ` Robert Dewar
2002-06-03  9:26     Commercial C To Ada 95 compiler Henrik Quintel
2002-06-07  3:48     ` Richard Riehle
2002-06-07 13:21       ` Larry Kilgallen
2002-06-07 19:48         ` Ted Dennison
2002-06-07 20:26           ` Wes Groleau
2002-06-08  3:19             ` SteveD
2002-06-08  3:59               ` Jim Rogers
2002-06-08  4:14                 ` Darren New
2002-06-08  4:50                   ` SteveD
2002-06-08 12:04 21%                 ` Robert Dewar
2002-06-08  4:46                 ` SteveD
2002-06-08 12:11 20%               ` Robert Dewar
2002-06-08 12:06 22%             ` Robert Dewar
2002-06-05 11:40     Can any body clarify me !! anil kumar hosamani
2002-06-05 12:37     ` Preben Randhol
2002-06-05 13:17       ` Martin Dowie
2002-06-05 13:40         ` Preben Randhol
2002-06-05 14:37           ` +Re: " Martin Dowie
2002-06-06 12:25 20%         ` Robert Dewar
2002-06-06  1:52 22%       ` Robert Dewar
2002-06-06  1:51 22%   ` Robert Dewar
2002-06-05 11:46     Grein, Christoph
2002-06-06  1:54 21% ` Robert Dewar
2002-06-08  0:46     HELP: PC System Call John Cupak
2002-06-08 12:16 22% ` Robert Dewar
2002-06-08 12:17 22% ` Robert Dewar
2002-06-08  1:16     Is there a Graphical IDE to GNAT 3.14p (Win2K platform)? Daniel Dudley
2002-06-08  1:40     ` chris.danx
2002-06-08 12:00 22%   ` Robert Dewar
2002-06-08  9:24     ` Fran�ois BERGERET
2002-06-09 16:08       ` Daniel Dudley
2002-06-09 18:56         ` Fran�ois BERGERET
2002-06-10  2:21 22%       ` Robert Dewar
2002-06-08 12:21 22% ` Robert Dewar
2002-06-08 12:21 22% ` Robert Dewar
2002-06-08 14:23     ` Michael Bode
2002-06-08 20:18       ` Daniel Dudley
2002-06-08 20:48         ` Michael Bode
2002-06-09 17:16 21%       ` Robert Dewar
2002-06-17 16:09     C.A.R. Hoare on liability Wes Groleau
2002-06-21 11:55 18% ` Robert Dewar
2002-06-21 20:45       ` Robert I. Eachus
2002-06-22 13:14 17%     ` Robert Dewar
2002-06-18  6:53     Creating really small binaries? Caffeine Junky
2002-06-18 16:41     ` Stephen Leake
2002-06-26  8:08 22%   ` Robert Dewar
2002-06-19 23:32     have to use unrestricted access but just what about access chris.danx
2002-06-20 14:22     ` Robert A Duff
2002-06-21 11:45 21%   ` Robert Dewar
2002-06-22  0:49         ` Robert A Duff
2002-06-22  1:05           ` Ted Dennison
2002-06-22 12:09 18%         ` Robert Dewar
2002-06-20 16:05 21% ` Robert Dewar
2002-07-02 16:32     Smart sorting algorithm ? Wes Groleau
2002-07-02 17:21     ` Wilhelm Spickermann
2002-07-02 20:01       ` Wes Groleau
2002-07-02 20:22         ` Tarjei T. Jensen
2002-07-06 13:40 19%       ` Robert Dewar
2002-07-08 21:54     ` Wes Groleau
2002-07-09  4:35 22%   ` Robert Dewar
2002-07-09 18:59       ` Ron
2002-07-11 14:40         ` Wes Groleau
2002-07-11 20:04 22%       ` Robert Dewar
2002-07-02 17:57     Simple Question - Direct Access to memory with ADA Fredrick Smith
2002-07-04  4:01 21% ` Robert Dewar
2002-07-05  9:27     GNAT on SPARC Arne Carlsson
2002-07-06 11:08     ` Anders Gidenstam
2002-07-06 18:30 22%   ` Robert Dewar
2002-07-07 15:06     gnat: float problem Jan Prazak
2002-07-07 14:08     ` Frank J. Lhota
2002-07-08 20:20       ` Jan Prazak
2002-07-08 23:00         ` Jan Prazak
2002-07-09 13:36           ` Ted Dennison
2002-07-09 20:07 21%         ` Robert Dewar
2002-07-09 23:04     Problem with Gnat.Dynamic_Tables achrist
2002-07-11 15:13 22% ` Robert Dewar
2002-07-11 20:35       ` achrist
2002-07-12  3:42 22%     ` Robert Dewar
2002-07-12 17:13     Ada.Task_Identification.Abort_Task (Environment_Task) ; Marin David Condic
2002-07-13 13:45     ` Simon Wright
2002-07-13 22:12 22%   ` Robert Dewar
2002-07-13 19:10     if X in 1..35000 versus Boolean Jan Prazak
2002-07-13 16:27     ` Frank J. Lhota
2002-07-13 20:36       ` Jan Prazak
2002-07-13 22:10 22%     ` Robert Dewar
2002-07-16  8:18         ` Keith Thompson
2002-07-16 13:54           ` Jan Prazak
2002-07-16 11:13             ` Lutz Donnerhacke
2002-07-17 19:04               ` Jan Prazak
2002-07-18  8:11                 ` Lutz Donnerhacke
2002-07-20  0:37 21%               ` Robert Dewar
2002-07-13 16:44     ` Christopher Browne
2002-07-13 22:09 20%   ` Robert Dewar
2002-07-13 21:53     [ot] making stuff chris.danx
2002-07-19  0:31     ` Robert A Duff
2002-07-20 12:43 21%   ` Robert Dewar
2002-07-15 11:25     gnat: time-slicing Jan Prazak
2002-07-15 13:07     ` time-slicing David C. Hoos
2002-07-15 19:10       ` time-slicing Jan Prazak
2002-07-16 21:33 21%     ` time-slicing Robert Dewar
2002-07-16 21:29 21% ` gnat: time-slicing Robert Dewar
2002-07-17 19:29       ` Jan Prazak
2002-07-17 16:44         ` Pascal Obry
2002-07-17 21:38           ` Jan Prazak
2002-07-17 19:21             ` Randy Brukardt
2002-07-17 22:44               ` Jan Prazak
2002-07-17 19:57                 ` Marin David Condic
2002-07-18 18:38                   ` Larry Kilgallen
2002-07-20 11:52 20%                 ` Robert Dewar
2002-07-18  2:50         ` R. Tim Coslet
2002-07-20 11:56 22%       ` Robert Dewar
2002-07-19  2:33     ` Robert A Duff
2002-07-19 23:46       ` Keith Thompson
2002-07-20 11:47 16%     ` Robert Dewar
2002-08-01 19:28       ` Erroneous execution? (was Re: gnat: time-slicing) Ben Brosgol
2002-08-01 22:03         ` Robert A Duff
2002-08-02  4:17 22%       ` Robert Dewar
2002-07-19 23:28     source beautifier Jan Prazak
2002-07-20 11:32 22% ` Robert Dewar
2002-07-20  0:57     Passing Unconstrained Arrays from FORTRAN to an Ada95 subunit Karen Carron
2002-07-22  1:48 22% ` Robert Dewar
2002-07-22 12:53     Ada.Task_Identification.Abort_Task (Environment_Task) ; Marin David Condic
2002-07-23  6:08     ` tmoran
2002-07-23 13:02       ` Marin David Condic
2002-07-25  0:43 21%     ` Robert Dewar
2002-07-22 15:26     Providing C function With Argv Jeff
2002-07-23 13:43 21% ` Robert Dewar
2002-07-23 23:56     Zeller's Algorithm Paul A Storm
2002-07-24  7:59     ` Thomas Wolf
2002-07-24 21:30       ` Paul A Storm
2002-07-29  8:29         ` Thomas Wolf
2002-07-30  4:35 22%       ` Robert Dewar
2002-07-24  5:33     Dispatching and generics - language lawyer question Grein, Christoph
2002-07-25  0:40 22% ` Robert Dewar
2002-07-31 20:18     ` Robert A Duff
2002-08-02  1:15       ` Dmitry A.Kazakov
2002-08-01 16:30         ` Hyman Rosen
2002-08-02 23:42           ` Dmitry A.Kazakov
2002-08-02 15:49             ` Hyman Rosen
2002-08-12 12:44 21%           ` Robert Dewar
2002-07-24  9:29     Slices of 2d arrays? Dale Stanbrough
2002-07-24  9:39     ` Lutz Donnerhacke
2002-07-25  0:38 22%   ` Robert Dewar
2002-07-24 13:47     ` Peter Hermann
2002-07-25  0:33 21%   ` Robert Dewar
2002-07-25 11:26         ` Slices of 2d arrays? +HPF Peter Hermann
2002-07-25 13:04           ` Jacob Sparre Andersen
2002-07-25 15:58             ` Darren New
2002-07-28 23:54 22%           ` Robert Dewar
2002-07-25 20:31         ` Slices of 2d arrays? Robert A Duff
2002-07-25 21:09           ` Chad R. Meiners
2002-07-29 13:37 21%         ` Robert Dewar
2002-07-25 21:23     GNAT documentation question James Squire
2002-07-28 18:28 21% ` Robert Dewar
2002-07-29 17:53       ` Mark Johnson
2002-07-30  4:18 21%     ` Robert Dewar
2002-07-30  4:21 20%     ` Robert Dewar
2002-07-26  4:30     Grein, Christoph
2002-07-26 16:37     ` James Squire
2002-07-28 19:09 22%   ` Robert Dewar
2002-07-28 22:01         ` Robert A Duff
2002-07-29 11:01 22%       ` Robert Dewar
2002-07-29 12:05     Multiple interface inheritance workaround in Ada 95 / Ada 0x to satisfy a Java language advocate? Colin Paul Gloster
2002-07-29 17:27     ` Hyman Rosen
2002-07-30  8:13       ` Dmitry A. Kazakov
2002-07-30 20:55 22%     ` Robert Dewar
2002-07-30  6:32     FAQ and string functions Oleg Goodyckov
2002-08-01 14:29     ` Ted Dennison
2002-08-01 16:47       ` Oleg Goodyckov
2002-08-02 14:05         ` Ted Dennison
2002-08-02 16:11           ` Darren New
2002-08-03  0:30             ` Ted Dennison
2002-08-03  0:58               ` Darren New
2002-08-03  2:32                 ` Ted Dennison
2002-08-03  2:47                   ` Darren New
2002-08-03 12:41                     ` Ted Dennison
2002-08-03 16:53                       ` Darren New
2002-08-04  1:08                         ` Ted Dennison
2002-08-04 16:23                           ` Darren New
2002-08-05  2:16 15%                         ` Robert Dewar
2002-07-30 21:23     Visibility of private packages?? Peter Coventry
2002-07-31  9:13     ` John McCabe
2002-07-31 12:06       ` Dale Stanbrough
2002-07-31 13:30         ` Robert A Duff
2002-08-14  1:16           ` Randy Brukardt
2002-08-14  9:53             ` Dale Stanbrough
2002-08-14 17:03 22%           ` Robert Dewar
2002-07-31 22:25     Reemergence of predefined equality operator Dale Stanbrough
2002-07-31 22:47     ` Robert A Duff
2002-08-01  1:30       ` Vincent Marciante
2002-08-01 12:06 19%     ` Robert Dewar
2002-08-02  1:40     creating a 16 bit value from 2 8 bit values in Ada Mark
2002-08-02 18:21     ` Stephen Leake
2002-08-03 14:37 22%   ` Robert Dewar
2002-08-02  2:46     Help: Problem with JGnat Bin Chen
2002-08-02  8:04     ` Dr. Michael Paus
2002-08-02 12:29       ` Marc A. Criley
2002-08-02 18:37 22%     ` Robert Dewar
2002-08-02 19:38         ` JGNAT status??? (was: Re: Help: Problem with JGnat) Britt Snodgrass
2002-08-03  8:45           ` Dr. Michael Paus
2002-08-03 14:36 21%         ` Robert Dewar
2002-08-03 15:38               ` Dr. Michael Paus
2002-08-04 14:18 22%             ` Robert Dewar
2002-08-12 13:23               ` JGNAT status??? (Volunteers?) António Vargas
2002-08-12 23:47 22%             ` Robert Dewar
2002-08-02 12:21     using pragma export/adainit/adafinal with gnat Dale Stanbrough
2002-08-02 18:55     ` Stephen Leake
2002-08-02 21:43       ` Dale Stanbrough
2002-08-04 14:24 19%     ` Robert Dewar
2002-08-04  0:24     [ot... well kindof] SDI chris.danx
2002-08-04 14:16 22% ` Robert Dewar
2002-08-04 18:19       ` tmoran
2002-08-05  1:26 21%     ` Robert Dewar
2002-08-11 22:59     GNAT question Fred Stihler
2002-08-12  2:56 21% ` Robert Dewar
2002-08-12  4:37       ` Google error?, was " tmoran
2002-08-12 12:39 22%     ` Robert Dewar
2002-08-12  4:37     ` tmoran
2002-08-12 12:37 22%   ` Robert Dewar
2002-08-12 18:35       ` tmoran
2002-08-12 23:51 22%     ` Robert Dewar
2002-08-12 12:29     Floating point representation-help Ashwath
2002-08-12 13:08     ` David C. Hoos
2002-08-12 23:43 22%   ` Robert Dewar
     [not found]     <3D51ECC9.8020406@cogeco.ca>
2002-08-12 15:09     ` GNAT/Ada95 Streams Performance Issue Waldek Hebisch
2002-08-12 23:49 22%   ` Robert Dewar
2002-08-13  1:22       ` Larry Hazel
2002-08-13  8:25 22%     ` Robert Dewar
2002-08-13 13:45           ` Larry Hazel
2002-08-13 21:11 22%         ` Robert Dewar
2002-08-13  2:00     JGNAT status??? (Volunteers?) Robert C. Leif
2002-08-13  8:23 20% ` Robert Dewar
2002-08-13  2:00     Information Systems Annex was RE: Dispatching and generics - language lawyer question Robert C. Leif
2002-08-13  8:17 21% ` Robert Dewar
2002-08-13 23:53     stupid question: how can I finish a program? Robert C. Leif
2002-08-14  2:07     ` Wes Groleau
2002-08-14 13:56       ` Marin D. Condic
2002-08-17 15:58 22%     ` Robert Dewar
2002-08-15  1:47 22%   ` Robert Dewar
2002-08-15  5:17         ` tmoran
2002-08-15 18:41 22%       ` Robert Dewar
2002-08-14 13:53     ` Marin D. Condic
2002-08-25  2:22 22%   ` Robert Dewar
2002-08-13 23:53     Information Systems Annex was RE: Dispatching and generics - language lawyer question Robert C. Leif
2002-08-15  9:26 22% ` Robert Dewar
2002-08-15 16:17       ` Darren New
2002-08-15 19:18         ` Information Systems Annex was RE: Dispatching and generics - Larry Kilgallen
2002-08-16 15:49 20%       ` Robert Dewar
2002-08-17  6:31             ` Simon Wright
2002-08-17 14:17 22%           ` Robert Dewar
2002-08-16 15:47       ` Information Systems Annex (usefulness of Decimal Floats) Warren W. Gay VE3WWG
2002-08-17 10:54 21%     ` Robert Dewar
2002-08-17 10:56 22%     ` Robert Dewar
2002-08-16 15:38 16% ` Information Systems Annex was RE: Dispatching and generics - language lawyer question Robert Dewar
2002-08-14 19:34     Fill string with multiple lines from standard_input Vincent Smeets
2002-08-14 20:37     ` Stephen Leake
2002-08-15 17:57       ` Vincent Smeets
2002-08-15 20:47         ` Stephen Leake
2002-08-19 19:39           ` Vincent Smeets
2002-08-21 14:37             ` Kevin Cline
2002-08-21 19:47 22%           ` Robert Dewar
2002-08-15  2:30     ` SteveD
2002-08-15 18:02       ` Vincent Smeets
2002-08-16  0:25 21%     ` Robert Dewar
2002-08-15 19:07       ` Vincent Smeets
2002-08-15 21:49         ` chris.danx
2002-08-16 19:30           ` Ted Dennison
2002-08-17 10:24 22%         ` Robert Dewar
2002-08-19 13:40               ` Ted Dennison
2002-08-20  0:03 22%             ` Robert Dewar
2002-08-14 21:53     Information Systems Annex was RE: Dispatching and generics - language lawyer question Robert C. Leif
2002-08-15  9:31 19% ` Robert Dewar
2002-08-15 21:54     Decimal Floating point was " Robert C. Leif
2002-08-16 15:26 18% ` Robert Dewar
2002-08-16 15:29 19% ` Robert Dewar
2002-08-15 21:54     Decimal Floating types " Robert C. Leif
2002-08-16 15:21 17% ` Robert Dewar
2002-08-16 16:15       ` Decimal Floating types Warren W. Gay VE3WWG
2002-08-17 10:52 20%     ` Robert Dewar
2002-08-17 14:30           ` Warren W. Gay VE3WWG
2002-08-20  0:26 22%         ` Robert Dewar
2002-08-22 18:15               ` Richard Riehle
2002-08-23  3:23 22%             ` Robert Dewar
2002-08-16  8:46     POLL: Would you use Ada more if Juha Valimaki
2002-08-16 11:25     ` Larry Kilgallen
2002-08-16 11:11       ` Preben Randhol
2002-08-16 11:54         ` John McCabe
2002-08-16 12:44           ` Preben Randhol
2002-08-16 13:17             ` John McCabe
2002-08-16 13:23               ` Preben Randhol
2002-08-16 13:32                 ` John McCabe
2002-08-26 18:00                   ` Robert A Duff
2002-08-27 22:56                     ` Dmitry A.Kazakov
2002-08-27 18:23                       ` Anatoly Chernyshev
2002-08-28  1:41 21%                     ` Robert Dewar
2002-08-17 10:12 22%             ` Robert Dewar
2002-08-17 10:57                   ` Preben Randhol
2002-08-17 18:00 17%                 ` Robert Dewar
2002-08-18  8:40                   ` Preben Randhol
2002-08-19  0:50 21%                 ` Robert Dewar
2002-08-16 18:27               ` Keith Thompson
2002-08-16 21:19                 ` Juha Valimaki
2002-08-17 10:14 22%               ` Robert Dewar
2002-08-17 10:11 20%           ` Robert Dewar
2002-08-16 11:25       ` John McCabe
2002-08-16 12:33         ` Preben Randhol
2002-08-17 10:16 21%       ` Robert Dewar
2002-08-16  8:48     Ada 95 for an ARM-based bare board? Dmitry A.Kazakov
2002-08-16  9:14     ` Steffen Huber
2002-08-17 15:55 22%   ` Robert Dewar
2002-08-19 21:29         ` Dmitry A.Kazakov
2002-08-20  0:13 20%       ` Robert Dewar
2002-08-20 21:21             ` Dmitry A.Kazakov
2002-08-20 12:07               ` Larry Kilgallen
2002-08-21 22:41                 ` Dmitry A.Kazakov
2002-08-21 13:05                   ` Ole-Hjalmar Kristensen
2002-08-21 13:07                     ` Ole-Hjalmar Kristensen
2002-08-21 19:32 20%                   ` Robert Dewar
2002-08-22  6:50                         ` Juha Valimaki
2002-08-22 13:49                           ` Marin D. Condic
2002-08-23  9:29                             ` Juha Valimaki
2002-08-24  2:19 16%                           ` Robert Dewar
2002-08-27  5:57                                 ` Juha Valimaki
2002-08-28  1:56 16%                               ` Robert Dewar
2002-08-24  2:24 18%                           ` Robert Dewar
2002-08-20 18:29 19%           ` Robert Dewar
2002-08-21 22:41                 ` Dmitry A.Kazakov
2002-08-21 19:34 22%               ` Robert Dewar
2002-08-21 19:40 19%               ` Robert Dewar
2002-08-22  0:08                     ` BSCrawford
2002-08-22  1:45                       ` SteveD
2002-08-22 10:28 16%                     ` Robert Dewar
2002-08-21 19:44 22%               ` Robert Dewar
2002-08-20 18:32 22%           ` Robert Dewar
2002-08-16 13:33     POLL: Would you use Ada more if Eric Merritt
2002-08-16 13:41     ` John McCabe
2002-08-17  6:22       ` Simon Wright
2002-08-17 15:53 20%     ` Robert Dewar
2002-08-16 22:58     On accounting and engineering.(Slightly offtopic) Caffeine Junky
2002-08-17  4:01     ` Adrian Hoe
2002-08-17 14:53       ` John R. Strohm
2002-08-17 16:05         ` Darren New
2002-08-20  9:34           ` Adrian Hoe
2002-08-20 14:57             ` Darren New
2002-08-21  3:26               ` Adrian Hoe
2002-08-21 19:38                 ` Randy Brukardt
2002-08-22 10:01 17%               ` Robert Dewar
     [not found]     <c923f575.0208150903.5ac6b098@posting.google.com>
2002-08-16 14:34     ` best way to handle long strings!? Jacob Sparre Andersen
2002-08-18  4:30       ` AG
2002-08-19  0:53 21%     ` Robert Dewar
2002-08-17 10:57 22% ` Robert Dewar
2002-08-24 13:32       ` Bruce or Tracy Jacobs
2002-08-24 21:48 22%     ` Robert Dewar
2002-08-17 19:04     Point of Information was RE: POLL: Would you use Ada more if Robert C. Leif
2002-08-20  0:17 22% ` Robert Dewar
2002-08-17 19:04     Information Systems Annex (usefulness of Decimal Floats) Robert C. Leif
2002-08-20  0:25 17% ` Robert Dewar
2002-08-19 11:34     Ada -> .NET effort in progress Marc A. Criley
2002-08-20  0:09 19% ` Robert Dewar
2002-08-22  5:43     Ada 95 for an ARM-based bare board? Richard Riehle
2002-08-22  6:30     ` tmoran
2002-08-23  3:14 22%   ` Robert Dewar
2002-08-23  2:01     Robert C. Leif
2002-08-23 20:36 19% ` Robert Dewar
2002-08-25  6:20       ` tmoran
2002-08-26  1:56 20%     ` Robert Dewar
2002-08-26  4:42           ` tmoran
2002-08-31 12:21 19%         ` Robert Dewar
2002-08-31 16:21               ` tmoran
2002-08-31 22:02 21%             ` Robert Dewar
2002-08-23 14:52     Software Economics was " Robert C. Leif
2002-08-24  1:58 17% ` Robert Dewar
2002-08-24  2:05 18% ` Robert Dewar
2002-08-24  7:28       ` tmoran
2002-08-24 21:53 21%     ` Robert Dewar
2002-08-23 19:10     Thought this was interesting Darren New
2002-08-24 23:01 21% ` Robert Dewar
2002-08-25  3:27     ` tmoran
2002-08-26 14:01       ` Marin D. Condic
2002-08-27 16:13         ` Hyman Rosen
2002-08-27 20:07           ` Thought this was interesting (OT) Chad R. Meiners
2002-08-27 20:21             ` Frank J. Lhota
2002-08-28  2:52               ` SteveD
2002-08-28 11:09 21%             ` Robert Dewar
2002-08-24  0:11     Software Economics Robert C. Leif
2002-08-24 13:01 13% ` Robert Dewar
2002-08-24  5:24     Ada 95 for an ARM-based bare board? Robert C. Leif
2002-08-24 20:00 17% ` Excessive quoting and Outlook (was: Ada 95 for an ARM-based bare board?) Robert Dewar
2002-08-24 21:57 21% ` mailers, quoting text etc. (was " Robert Dewar
     [not found]     <c923f575.0208231040.301add2@posting.google.com>
2002-08-23 20:16     ` what means the " ' " in use with a record type? tmoran
2002-08-24 13:19 19%   ` Robert Dewar
2002-08-25  6:15         ` tmoran
2002-08-26 20:41 22%       ` Robert Dewar
2002-08-25 23:29     Steven Deller
2002-08-26  1:20     ` tmoran
2002-08-26 20:43 22%   ` Robert Dewar
2002-08-28  6:53     Run-Time Type Assignment Robert C. Leif
2002-08-28 11:04 22% ` Robert Dewar
2002-08-31 22:04 22% So long folks (from Robert Dewar) Robert Dewar
2011-03-03 20:46     Air traffic control system in Java Hyman Rosen
2011-03-04 18:00     ` KK6GM
2011-03-04 18:11       ` Hyman Rosen
2011-03-04 18:18         ` KK6GM
2011-03-04 18:24           ` Hyman Rosen
2011-03-04 18:51             ` Vinzent Hoefler
2011-03-04 20:18               ` Dmitry A. Kazakov
2011-03-04 20:23                 ` Nasser M. Abbasi
2011-03-04 21:31                   ` Dmitry A. Kazakov
2011-03-04 21:44                     ` Nasser M. Abbasi
2011-03-05  1:08                       ` Randy Brukardt
2011-03-05  5:15                         ` Vinzent Hoefler
2011-03-05  6:45                           ` Shark8
2011-03-05  7:15                             ` Vinzent Hoefler
2011-03-05  7:37                               ` Nasser M. Abbasi
2011-03-05  8:28                                 ` Dmitry A. Kazakov
2011-03-05 23:32                                   ` Rick
2011-03-06  9:21                                     ` Dmitry A. Kazakov
2011-03-06 22:47 47%                                   ` Rick

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