comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada 2005 puzzle
Date: Thu, 19 Jul 2012 21:22:27 -0500
Date: 2012-07-19T21:22:27-05:00	[thread overview]
Message-ID: <juafd9$fa5$1@munin.nbi.dk> (raw)
In-Reply-To: wd9m63dfb4hn.1feik6xrauuel$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:wd9m63dfb4hn.1feik6xrauuel$.dlg@40tude.net...
> On Thu, 19 Jul 2012 01:53:35 -0500, Randy Brukardt wrote:
...
>> My personal feeling always was that this restriction was not acceptable, 
>> but
>> I couldn't explain why. Thus, I think it would be a good idea to send 
>> your
>> problem to Ada-Comment, so that the ARG can consider the problem. I'm 
>> pretty
>> sure that your example is reasonable in all respects, and I can't figure 
>> out
>> any good reason that you shouldn't be able to do it.
>
> ARG should concentrate on the real problem instead. Which is:
>
> It shall be possible to write a constructing function for any type derived
> from a type having a constructing function.

The ARG isn't going to do anything unless real users (like yourself) report 
reasonable examples that don't appear to be possible with the current rules. 
Generally, we're not interested in *solutions* from the public (we're happy 
to figure out the best solution for the language as a whole), but we are 
interested in *problems*.

So far as (most) of the ARG is aware, there is no problem with this feature, 
and in the absence of reports of real problems I doubt that anything will 
change.

...
> Why not to fix that too? Objects with the no-copies semantics are
> everywhere. Larger/complex the object become, less likely anybody would
> copy it. Clearly, Ada as a language for *large* projects shall support
> this.

It can't be fixed; you almost always need copying in some circumstances. The 
language definition admits this with the notion of build-in-place.

I personally don't believe that there are truly no-copy objects; the issue 
is that it is *easier* to define them that way, and it often isn't worth the 
effort to make an appropriate assignment abstraction.

(Claw could not work sanely with limited windows, and the implementation 
effort to provide non-limited windows was insane. So neither option really 
works -- I don't see a way to eliminate this.)

> There should have been no limited returns and no limited aggregates in
> first place. But since ARG decided to invent the mess for the purpose
> object construction, it is now the ARG's problem to live up to the 
> promise.

As I said, you need to report problematical examples to the ARG (via 
Ada-Comment). So far as we know, limited aggregates work just fine... (I've 
never had any problems with them, for example.)

And if you expect me to take your problems to the ARG, let me say that they 
will have a lot more weight if they come from real Ada users and not just me 
(or Adam, or Bob, all of whom are "tainted" as implementors).

                                          Randy.





  reply	other threads:[~2012-07-26  1:53 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-12 12:54 Ada 2005 puzzle Dmitry A. Kazakov
2012-07-12 15:48 ` Adam Beneschan
2012-07-12 16:34   ` Dmitry A. Kazakov
2012-07-19  6:53     ` Randy Brukardt
2012-07-19  7:55       ` Dmitry A. Kazakov
2012-07-20  2:22         ` Randy Brukardt [this message]
2012-07-20  7:20           ` Dmitry A. Kazakov
2012-07-21  0:04             ` Randy Brukardt
2012-07-21  8:34               ` Dmitry A. Kazakov
2012-07-24  2:38                 ` Randy Brukardt
2012-07-24  4:23                   ` Adam Beneschan
2012-07-24  7:54                     ` Dmitry A. Kazakov
2012-07-25 23:39                       ` Randy Brukardt
2012-07-26  7:41                         ` Dmitry A. Kazakov
2012-07-26 13:08                           ` Simon Wright
2012-07-26 13:55                             ` Dmitry A. Kazakov
2012-07-27  9:42                               ` AdaMagica
2012-07-27 10:32                                 ` Dmitry A. Kazakov
2012-07-27 11:58                                   ` Georg Bauhaus
2012-07-27 13:04                                     ` Dmitry A. Kazakov
2012-07-28  9:48                                       ` AdaMagica
2012-07-28 10:37                                         ` Dmitry A. Kazakov
2012-07-28 16:59                                           ` AdaMagica
2012-07-28 18:21                                             ` Dmitry A. Kazakov
2012-07-19  8:04       ` Maciej Sobczak
     [not found]         ` <juaghb$fv9$1@munin.nbi.dk>
2012-07-20  7:30           ` Dmitry A. Kazakov
2012-07-21 17:21             ` Vasiliy Molostov
2012-07-21 19:03               ` Dmitry A. Kazakov
2012-07-21 19:37                 ` Vasiliy Molostov
2012-07-21 20:23                   ` Dmitry A. Kazakov
2012-07-21 20:53                     ` Vasiliy Molostov
2012-07-22  7:41                       ` Dmitry A. Kazakov
2012-07-22  8:00                         ` Vasiliy Molostov
2012-07-22  8:19                           ` Dmitry A. Kazakov
2012-07-22  9:06                             ` Vasiliy Molostov
2012-07-22  9:34                               ` Dmitry A. Kazakov
2012-07-20  8:09           ` Maciej Sobczak
2012-07-20  8:27             ` Dmitry A. Kazakov
2012-07-20 11:30               ` Maciej Sobczak
2012-07-20 12:49                 ` Dmitry A. Kazakov
2012-07-21 22:46                   ` Maciej Sobczak
2012-07-22  8:03                     ` Dmitry A. Kazakov
2012-07-22 10:08               ` Florian Weimer
2012-07-22 11:18                 ` Dmitry A. Kazakov
2012-07-21  0:12             ` Randy Brukardt
2012-07-22  9:52       ` Florian Weimer
replies disabled

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