comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: some trivial questions?
Date: Thu, 9 Nov 2017 09:49:35 +0100
Date: 2017-11-09T09:49:35+01:00	[thread overview]
Message-ID: <ou14r2$49s$1@gioia.aioe.org> (raw)
In-Reply-To: wccd14so07t.fsf@TheWorld.com

On 08/11/2017 23:49, Robert A Duff wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>>> I'd also prefer that function results and 'out' parameters
>>> have identical semantics, which they don't in Ada.
>>
>> Yes, but there are syntax problems with that:
>>
>>     procedure Generate_Two_Strings (X, Y : out String);
>>
>> How do I declare
>>
>>     X, Y : constant String := Generate_Two_Strings;
> 
> Something like:
> 
>      X, Y : constant String;
>      Generate_Two_Strings (X, Y);
> 
> could be made to work.  But that's nothing like Ada.

Nothing like a good language at all.

>> How do I do
>>
>>     2 x Ada.Text_IO.Put_Line (Generate_Two_Strings);
> 
> Store them in constants, I guess.

That defeats the purpose and what about objects with loaded semantics, 
like controlled helper types (references etc). It is not a good idea to 
produce named copies of in whatever form.

[ Passing arguments to subprograms is a directed graph. With only one 
child per node it is simple to write the graph down in a bracketed form. 
Without that it becomes kind of weird. ]

>> BTW, there is no reason why "with" should not be nested. If a unit can
>> depend or not on a unit so a block can. One could even invent some
>> interesting elaboration rules for nested "with"s. (:-)) And in effect
>> nested "with" do exist for separate bodies.
> 
> The rules about subunits are just plain weird.  They confuse the
> issues of visibility/dependence and separate compilation.

or maybe reflect the reality?

>>> I think nested packages and child packages should have identical
>>> semantics (so "with" should apply to both).  That was probably
>>> impossible, because child packages were invented too late.
>>
>> Yes. E.g. what if nested package instantiation would not imply "with"?
>> Should the similar [flawed] logic apply here as to "use"?
> 
> I don't understand those questions.

    package Foo is new Bar;
    use Foo; -- That must be illegal

Now the "right" way:

    package Foo is new Bar;
    with Foo; -- For the sake of "showing dependencies"
    use Foo;  -- That's right!

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2017-11-09  8:49 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-01 18:44 some trivial questions? tclwarrior
2017-11-01 19:55 ` Shark8
2017-11-01 20:03 ` Dmitry A. Kazakov
2017-11-01 21:30 ` Luke A. Guest
2017-11-06 22:43   ` Robert A Duff
2017-11-01 21:39 ` Jeffrey R. Carter
2017-11-02  1:19 ` tclwarrior
2017-11-02  3:04   ` Luke A. Guest
2017-11-02  4:19   ` gautier_niouzes
2017-11-06 22:52     ` Robert A Duff
2017-11-17  0:45       ` Randy Brukardt
2017-11-02  8:27   ` Dmitry A. Kazakov
2017-11-02 13:21     ` Simon Wright
2017-11-02 13:34       ` Dmitry A. Kazakov
2017-11-06 22:58         ` Robert A Duff
2017-11-07 11:50           ` Simon Wright
2017-11-17  0:51     ` Randy Brukardt
2017-11-17  8:32       ` Dmitry A. Kazakov
2017-11-18  1:14         ` Randy Brukardt
2017-11-18  9:19           ` Dmitry A. Kazakov
2017-11-20  5:40             ` J-P. Rosen
2017-11-20  8:22               ` Dmitry A. Kazakov
2017-11-20 22:03             ` Randy Brukardt
2017-11-21 10:26               ` Dmitry A. Kazakov
2017-11-22  0:56                 ` Randy Brukardt
2017-11-22  1:14                   ` Paul Rubin
2017-11-23  0:15                     ` Randy Brukardt
2017-11-23  0:19                       ` Victor Porton
2017-11-23  1:09                       ` Paul Rubin
2017-11-28  0:24                         ` Randy Brukardt
2017-11-22  8:42                   ` Dmitry A. Kazakov
2017-11-23  0:19                     ` Randy Brukardt
2017-11-23  1:11                       ` Paul Rubin
2017-11-23  8:37                       ` Dmitry A. Kazakov
2017-11-28  0:19                         ` Randy Brukardt
2017-11-23  8:42                       ` G. B.
2017-11-23 19:57                   ` Blady
2017-11-23 21:30                     ` J-P. Rosen
2017-11-23 23:24                       ` Shark8
2017-11-23 22:13                     ` Dennis Lee Bieber
2017-11-28  0:34                     ` Randy Brukardt
2017-11-02  8:39   ` Stefan.Lucks
2017-11-02 10:29   ` Simon Wright
2017-11-02 10:37     ` Dmitry A. Kazakov
2017-11-02 16:54   ` Jeffrey R. Carter
2017-11-02 17:17     ` Simon Wright
2017-11-02  3:53 ` gautier_niouzes
2017-11-02 11:15 ` joakimds
2017-11-06 19:33 ` G. B.
2017-11-06 20:53 ` Pascal Obry
2017-11-06 21:07   ` Dmitry A. Kazakov
2017-11-06 21:14     ` Pascal Obry
2017-11-06 21:21       ` Dmitry A. Kazakov
2017-11-17  0:57       ` Randy Brukardt
2017-11-17  8:40         ` Dmitry A. Kazakov
2017-11-17  9:12           ` Simon Wright
2017-11-18  1:27           ` Randy Brukardt
2017-11-18  2:29             ` Dennis Lee Bieber
2017-11-18  9:32             ` Dmitry A. Kazakov
2017-11-06 21:16   ` Simon Wright
2017-11-06 21:43     ` Pascal Obry
2017-11-17  0:59       ` Randy Brukardt
2017-11-06 22:37 ` Robert A Duff
2017-11-07  2:25   ` Dennis Lee Bieber
2017-11-07  8:34   ` Dmitry A. Kazakov
2017-11-08 22:49     ` Robert A Duff
2017-11-09  8:49       ` Dmitry A. Kazakov [this message]
2017-11-09 15:36         ` AdaMagica
2017-11-09 16:58           ` Dmitry A. Kazakov
2017-11-09 18:10             ` AdaMagica
2017-11-09 20:05               ` Dmitry A. Kazakov
2017-11-09 21:11                 ` AdaMagica
2017-11-09 21:38                   ` Dmitry A. Kazakov
2017-11-09 22:52                     ` AdaMagica
2017-11-10  8:18                       ` Dmitry A. Kazakov
2017-11-10 18:21                 ` J-P. Rosen
2017-11-10 19:34                   ` Dmitry A. Kazakov
2017-11-11 11:32                     ` AdaMagica
2017-11-11 12:17                       ` Dmitry A. Kazakov
2017-11-11 15:38                         ` AdaMagica
2017-11-11 21:36                           ` Dmitry A. Kazakov
2017-11-12  5:21                       ` J-P. Rosen
2017-11-14 16:49                       ` Robert Eachus
2017-11-14 17:34                         ` Jeffrey R. Carter
2017-11-17  1:11                     ` Randy Brukardt
2017-11-17  8:42                       ` Dmitry A. Kazakov
2017-11-10 20:30                   ` G. B.
2017-11-17  1:08                 ` Randy Brukardt
2017-11-09 22:43               ` Robert A Duff
2017-11-09 22:56                 ` AdaMagica
2017-11-10  8:22                   ` Dmitry A. Kazakov
2017-11-10 15:47                   ` Robert A Duff
2017-11-10 15:54                     ` Dmitry A. Kazakov
2017-11-14 15:58                       ` Robert Eachus
2017-11-14 16:22                         ` Dmitry A. Kazakov
2017-11-17  1:16                     ` Randy Brukardt
2017-11-17  1:06             ` Randy Brukardt
2017-11-09 18:08         ` Simon Wright
2017-11-09 20:07           ` Dmitry A. Kazakov
2017-11-07 17:41   ` Jeffrey R. Carter
2017-11-08 10:20     ` Brian Drummond
replies disabled

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