From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: terminate applications
Date: Sun, 20 Jul 2003 17:53:16 GMT
Date: 2003-07-20T17:53:16+00:00 [thread overview]
Message-ID: <3F1AD6FB.8080806@attbi.com> (raw)
In-Reply-To: 3F1A772F.9060708@noplace.com
Marin David Condic wrote:
> Interesting, but not compelling because it just plain isn't terribly
> useful to the end user. If I want a simple call to shoot the entire
> program in the head, I don't want to study the Suma Theologica for
> several years to figure out what programming sin I committed that is
> keeping it from doing the thing I want done. :-) If there is some
> Theoretical Purity that must be maintained to task abortion, then so be
> it. Give me a Ada.Kill ("-9") ; subprogram call that will do what I want
> it to do - kill the program regardless of what the rest of it may be doing.
First, send a comment to Ada-Comment. I believe the address is
currently ada-comment@ada-auth.org. I think you have a good case for
some sort of an �berkill.
But note that this cannot and should not be the normal behaviour of
aborting the environment task, or any task. This is not ideological
purity. Think of it this way. Using your �berkill on a program that
interfaces to a database will not only kill the program, it will break
transactions and corrupt the database. Yes, cycling the power can do
the same thing, but correctly written Ada programs will not, even if the
main program is aborted. (It will of course abort transactions in
progress, which is fine. But the (correct) use of abort deferred
regions will allow the main program to be aborted cleanly without
corrupting any external files.
So why provide your hypothetical �berkill? Because programmers are
human, programs have errors, especially during development. And it
would be really nice to have the �berkill so you could fix the error.
(It would be nice if you got an error message telling you where the
abort was hanging, but the debugger should give you that.)
> All too often, Ada gets herself wrapped up in trying to maintain some
> sort of purity on some issue and totally forgets that someone out there
> needs a job done. Just like my desire to get saturated math gets shot
> down by those who insist its behavior is too ill defined for the
> standard. So what? Let it be ill defined. Its use in reality has
> beneficial effects as an error recovery mechanism. It gets used in
> reality all the time. All Ada succeeds in doing by maintaining this
> purity is to make itself less useful to the practitioner - who must now
> find some butt-ugly way around the problem.
If you think there is that kind of shootdown, send your complaint,
again, to Ada-Comment. But there is not. I would love to see an
addition to Ada 0Y that made saturated math easier, and I think it can
be made to happen. But the process is that real users (you) send in
requirements indicating real needs, and the ARG will try to propose a
language extension to WG9 that satisfies that need.
In the case of saturated arithmetic, that might be a predefined
saturated type, or it could be a solution to the problem of literals for
otherwise private types, say:
type Saturated is private range <>;
type Modular is private mod <>;
type Rational is private digits <>;
or type Rational is private delta <>;
which would get rid of the predefined operations (other than assignment
and equality) but keep the literals. How would users tell the compiler
how to map the literals into values? That is the tricky part.
--
Robert I. Eachus
�In an ally, considerations of house, clan, planet, race are
insignificant beside two prime questions, which are: 1. Can he shoot? 2.
Will he aim at your enemy?� -- from the Laiden novels by Sharon Lee and
Steve Miller.
next prev parent reply other threads:[~2003-07-20 17:53 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-18 9:36 terminate applications christoph.grein
2003-07-18 10:54 ` Jeffrey Creem
2003-07-18 11:51 ` Marin David Condic
2003-07-18 13:26 ` Nick Roberts
2003-07-18 15:18 ` Jeffrey Creem
2003-07-19 15:44 ` Marin David Condic
2003-07-20 2:03 ` Robert I. Eachus
2003-07-20 11:04 ` Marin David Condic
2003-07-20 17:53 ` Robert I. Eachus [this message]
2003-07-21 12:02 ` Marin David Condic
2003-07-21 20:31 ` Robert I. Eachus
2003-07-22 12:11 ` Marin David Condic
2003-07-22 12:26 ` Arnaud Charlet
2003-07-22 12:36 ` Marin David Condic
2003-07-22 13:23 ` Arnaud Charlet
2003-07-22 23:23 ` Marin David Condic
2003-07-22 23:46 ` Samuel Tardieu
2003-07-23 12:22 ` Marin David Condic
2003-07-23 22:17 ` Randy Brukardt
2003-07-24 1:47 ` Hyman Rosen
2003-07-24 3:36 ` tmoran
2003-07-24 3:44 ` Hyman Rosen
2003-07-24 8:02 ` Samuel Tardieu
2003-07-24 19:54 ` Randy Brukardt
2003-07-24 7:45 ` Dmitry A. Kazakov
2003-07-24 14:54 ` Warren W. Gay VE3WWG
2003-07-24 15:46 ` Dmitry A. Kazakov
2003-07-26 2:58 ` Warren W. Gay VE3WWG
2003-07-28 8:17 ` Dmitry A. Kazakov
2003-07-28 21:08 ` Warren W. Gay VE3WWG
2003-07-29 10:42 ` Marin David Condic
2003-07-29 13:47 ` Hyman Rosen
2003-07-29 17:04 ` Warren W. Gay VE3WWG
2003-07-24 12:01 ` Marin David Condic
2003-07-24 20:12 ` Randy Brukardt
2003-07-24 23:11 ` Robert I. Eachus
2003-07-26 12:52 ` Marin David Condic
2003-07-26 3:28 ` Warren W. Gay VE3WWG
2003-07-24 11:51 ` Marin David Condic
2003-07-24 20:32 ` Randy Brukardt
2003-07-26 3:16 ` Warren W. Gay VE3WWG
2003-07-26 13:16 ` Marin David Condic
2003-07-26 15:23 ` Nick Roberts
2003-07-26 15:48 ` Warren W. Gay VE3WWG
2003-07-27 11:36 ` Marin David Condic
2003-07-26 19:52 ` rleif
2003-07-26 13:01 ` Marin David Condic
2003-07-24 14:46 ` Warren W. Gay VE3WWG
2003-07-24 18:50 ` tmoran
2003-07-26 13:21 ` Marin David Condic
2003-07-23 4:02 ` Robert I. Eachus
2003-07-23 12:28 ` Marin David Condic
2003-07-24 16:06 ` Robert I. Eachus
2003-07-26 13:33 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <$TwrUBtoh25l@eisner.encompasserve.org>
2003-07-26 15:07 ` Warren W. Gay VE3WWG
2003-07-27 11:43 ` Marin David Condic
2003-07-26 17:27 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <etldVqgp8sE1@eisner.encompasserve.org>
2003-07-26 20:18 ` Warren W. Gay VE3WWG
2003-07-26 20:24 ` Larry Kilgallen
[not found] ` <Pine.LNX.4.44.0307221518190.26977-10000Organization: LJK Software <q5jLYypXp6Yg@eisner.encompasserve.org>
2003-07-27 21:52 ` Warren W. Gay VE3WWG
2003-07-28 2:45 ` Larry Kilgallen
2003-08-01 17:00 ` Warren W. Gay VE3WWG
2003-08-01 17:56 ` Larry Kilgallen
2003-08-01 18:17 ` Warren W. Gay VE3WWG
2003-08-01 18:48 ` Larry Kilgallen
2003-07-22 12:59 ` Lutz Donnerhacke
2003-07-22 5:16 ` Randy Brukardt
2003-07-22 12:02 ` Marin David Condic
2003-07-22 14:45 ` Nick Roberts
2003-07-23 1:08 ` Dave Thompson
-- strict thread matches above, loose matches on Subject: below --
2003-07-17 10:39 Riccardo
2003-07-17 19:54 ` Nick Roberts
2003-07-17 20:55 ` Mark A. Biggar
2003-07-17 22:44 ` Nick Roberts
2003-07-18 3:55 ` sk
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox