comp.lang.ada
 help / color / mirror / Atom feed
From: AdaMagica <christ-usch.grein@t-online.de>
Subject: Re: Strings with discriminated records
Date: Tue, 29 May 2018 02:31:16 -0700 (PDT)
Date: 2018-05-29T02:31:16-07:00	[thread overview]
Message-ID: <209e0a3c-5473-4219-8954-43bd9602442c@googlegroups.com> (raw)
In-Reply-To: <pej0lt$8rl$1@gioia.aioe.org>

Am Dienstag, 29. Mai 2018 09:49:20 UTC+2 schrieb Dmitry A. Kazakov:
> Yes. Renaming temporary objects is probably a language design bug.

It was a consequence of making function results to objects. Before, they were mere values.
Objects can be renamed.

> renaming is broken in so many ways that one more, one less does not make 
> much difference.

Hm, I only see one lie with renaming:

X: constant Integer := -1;
Y: Positive renames X;

What are the other broken features?

> It is best to use rename only where it was originally intended, e.g.

Dmitry's list is very good advice.

> 1. for renaming long named objects/packages:
> 
>     X : T renames A.B.C.D.E.X;
> 
> 2. for renaming view conversions:
> 
>     X : T'Class renames T'Class (Y);
> 
> 3. for renaming array/list elements and record members:
> 
>     for I in A'Range loop
>        declare
>           Current : T renames A (I);
>        begin
>           ...
> 
> 4. for resolving name clashes:
> 
>     type T is new Integer;
>     function Integer_Add (Left, Right : Integer)
>        return Integer renames "+"; -- Going to override, so keep the old
>     function "+" (Left, Right : Integer)
>        return Integer renames "+"; -- The new one

  reply	other threads:[~2018-05-29  9:31 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-26 21:43 Strings with discriminated records NiGHTS
2018-05-26 23:42 ` Shark8
2018-05-27  1:42   ` NiGHTS
2018-05-27  8:39     ` Dmitry A. Kazakov
2018-05-27 12:22       ` Mehdi Saada
2018-05-27 12:40         ` Dmitry A. Kazakov
2018-05-27 14:34       ` NiGHTS
2018-05-27 14:50         ` Dmitry A. Kazakov
2018-05-27 15:19           ` NiGHTS
2018-05-27 15:32             ` AdaMagica
2018-05-27 16:22               ` NiGHTS
2018-05-29 22:31           ` Randy Brukardt
2018-05-30  7:29             ` Dmitry A. Kazakov
2018-05-30 20:11               ` Randy Brukardt
2018-05-27 12:48     ` Mehdi Saada
2018-05-27 13:03       ` Dmitry A. Kazakov
2018-05-27 17:11 ` NiGHTS
2018-05-27 18:07   ` Simon Wright
2018-05-27 23:08     ` NiGHTS
2018-05-28  1:44       ` Jere
2018-05-28  3:05         ` NiGHTS
2018-05-28  3:23           ` NiGHTS
2018-05-27 18:25   ` Dmitry A. Kazakov
2018-05-27 22:44     ` NiGHTS
2018-05-28  7:29       ` Dmitry A. Kazakov
2018-05-28  7:42       ` Simon Wright
2018-05-28 18:38         ` Shark8
2018-05-28 21:15           ` Mehdi Saada
2018-05-28 21:48             ` Shark8
2018-05-28 22:27               ` Mehdi Saada
2018-05-28 23:59                 ` Shark8
2018-05-29  0:41                   ` Dan'l Miller
2018-05-30 17:11                     ` Shark8
2018-05-29  7:49                 ` Dmitry A. Kazakov
2018-05-29  9:31                   ` AdaMagica [this message]
2018-05-29 10:14                     ` Dmitry A. Kazakov
2018-05-29 13:40                   ` Dan'l Miller
2018-05-29 14:04                     ` Dmitry A. Kazakov
2018-05-29 22:41                       ` Randy Brukardt
2018-05-30  5:00                         ` J-P. Rosen
2018-05-30 20:09                           ` Randy Brukardt
2018-05-31  4:19                             ` J-P. Rosen
2018-05-31 22:18                               ` Randy Brukardt
2018-06-01 13:35                                 ` Dan'l Miller
2018-06-01 15:20                                   ` Dmitry A. Kazakov
2018-05-28 13:55 ` NiGHTS
2018-05-29 14:37 ` Mehdi Saada
2018-05-29 22:44   ` Randy Brukardt
2018-05-29 22:41 ` Mehdi Saada
2018-05-30 19:46   ` Randy Brukardt
2018-05-30 19:48     ` Randy Brukardt
replies disabled

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