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
next prev parent 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