comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Contract checking in Ada
Date: Thu, 31 Mar 2005 20:30:25 -0600
Date: 2005-03-31T20:30:25-06:00	[thread overview]
Message-ID: <MvKdnVJbrMkpLNHfRVn-vA@megapath.net> (raw)
In-Reply-To: d2hcqs$ct0$1@sparta.btinternet.com

"Martin Dowie" <martin.dowie@btopenworld.com> wrote in message
news:d2hcqs$ct0$1@sparta.btinternet.com...
> Tapio Kelloniemi wrote:
> > But back to my original question, how could I implement programming by
> > contract now when the designers have abandoned it in their great wisdom?
>
> And I don't think you're being very fair to the Ada0Y team. The effort
> that has gone into/is going into it is still huge!
>
> It would be great if there were dozens of volunteers to promote new
> proposals but the sad truth is very few people are capable of writing an
> amendment to the RM (and I certainly include myself is the 'not able'
> camp). When people talk about "language lawyers" it isn't far from the
> truth! The knowledge of the language has to be absolutely inside-out if
> you want to be able to amend the actual language - not so much the
> standard library but even that's tricky.

Yes, and they have to be very carefully reviewed, both for language issues
and for implementation ones. (You don't want the new features to cause
programs to run much slower -- the dreaded "distributed overhead"). These
proposals kept getting messier and messier, and that played a part in their
eventually being abandoned.

For instance, Postconditions required a mechanism to get at the original
values of parameters. Which meant that those values had to be saved
somewhere. That would be a huge performance hit unless it is possible to
tell in advance whether or not the original value would be required. We
never had a proposal with that property (it really needs to be visible on a
purely syntax basis; otherwise it can be too complex to figure out, as it
would depend on name resolution and visibility).

We certainly had to prioritize our work, and input like the Ada UK vote that
Martin mentioned was very helpful in doing that. You don't please your
customers by doing the things that they are least interested in! (Note that
input like this was the reason that the containers library got added; it
just seemed too big to undertake, but the consistent message from the user
community was "this is important". So we buckled down and did it - but of
course other things, like the exception hierarchies and the pre/post
condition stuff got dropped to make room.)

                        Randy.






  reply	other threads:[~2005-04-01  2:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-30 10:46 Contract checking in Ada Tapio Kelloniemi
2005-03-30 11:18 ` Vinzent 'Gadget' Hoefler
2005-03-30 11:45 ` Georg Bauhaus
2005-03-30 12:49   ` Martin Dowie
2005-03-30 13:05   ` Tapio Kelloniemi
2005-03-30 13:42     ` Georg Bauhaus
2005-03-31  1:57     ` Randy Brukardt
2005-03-31  3:04       ` Ed Falis
2005-03-31  6:12         ` Martin Dowie
2005-03-31  7:22           ` Martin Dowie
2005-03-31 13:35       ` Tapio Kelloniemi
2005-03-31 17:38         ` Martin Dowie
2005-03-31 17:42         ` Martin Dowie
2005-04-01  2:30           ` Randy Brukardt [this message]
2005-04-01  8:02             ` Tapio Kelloniemi
2005-04-01  8:55               ` Dmitry A. Kazakov
2005-04-01 23:17               ` Randy Brukardt
2005-04-03 20:19                 ` Hyman Rosen
2005-04-04  5:31                   ` Randy Brukardt
2005-04-01  7:34         ` Peter Amey
2005-04-09 16:56           ` adaworks
2005-04-12  6:51 ` Duncan Sands
2005-04-12 19:29   ` Martin Dowie
replies disabled

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