From: M E Leypold <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: Constant record components
Date: 04 Jul 2006 02:08:38 +0200
Date: 2006-07-04T02:08:38+02:00 [thread overview]
Message-ID: <nqodw6tent.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: 12aihj2lrjqpc3a@corp.supernews.com
"ME" <abcdefg@nonodock.net> writes:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
> news:t7hmlpeqyass.1fjxzy2pl8z82$.dlg@40tude.net...
> > On Sun, 2 Jul 2006 09:13:54 -0700, ME wrote:
> >
> >> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
> >> news:1loq7utmaxvll$.yqsxj5edzqgv.dlg@40tude.net...
> >>> On Sat, 1 Jul 2006 09:25:06 -0700, ME wrote:
> >>>
> >>>> What was the rationale for prohibiting constant record components?
> >>>
> >>> Initialization and composition issues. Then often it is argued that
> >>> discriminants are, though limited.
> >
> >> What were these issues?
> >
> > You should ask language lawyers. Consider aggregates:
> >
> > type Semimutable is record
> > A : constant Integer := 10;
> > B : Integer;
> > end record;
> >
> > X : Semimutable := (A => 20, B => 40); -- Constraint_Error?
> > Y : Semimutable := (A => 10, B => 40);
> >
> > It might become tricky when A is a composite or private type. Should it
> > finalize the component and initialize it *same*? In which sense same? Does
> > it skip A upon assignments?
> Yes, why not. Anyway , discriminants allow a type of constant component so
> the mechanism is possible.
If constant record fields are needed, wouldn't it be simpler to just
wrap the whole initializing and assigning into a functional interface?
It would als help to isolate effects of changes if you switch
representation.
Regards -- Markus
next prev parent reply other threads:[~2006-07-04 0:08 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <12ad8guf3sg1o0d@corp.supernews.com>
2006-07-01 17:06 ` Constant record components Dmitry A. Kazakov
2006-07-01 17:37 ` ME
2006-07-01 18:33 ` Georg Bauhaus
2006-07-01 21:44 ` Jeffrey R. Carter
2006-07-02 9:18 ` Georg Bauhaus
2006-07-02 16:13 ` ME
2006-07-03 7:50 ` Dmitry A. Kazakov
2006-07-03 11:46 ` Craig Carey
2006-07-04 0:06 ` M E Leypold
2006-07-03 16:31 ` ME
2006-07-03 23:53 ` Randy Brukardt
2006-07-04 1:59 ` Craig Carey
2006-07-04 7:25 ` ME
2006-07-05 21:55 ` Randy Brukardt
2006-07-06 0:59 ` tmoran
2006-07-06 7:47 ` Jean-Pierre Rosen
2006-07-06 22:29 ` Randy Brukardt
2006-07-07 4:34 ` Jeffrey R. Carter
2006-07-07 5:39 ` ME
2006-07-07 9:15 ` Georg Bauhaus
2006-07-08 16:13 ` ME
2006-07-08 17:14 ` Georg Bauhaus
2006-07-13 6:58 ` ME
2006-07-13 8:39 ` Georg Bauhaus
2006-07-07 21:04 ` Randy Brukardt
2006-07-14 8:15 ` Craig Carey
2006-07-14 12:51 ` Craig Carey
2006-07-15 3:45 ` ME
2006-07-04 0:08 ` M E Leypold [this message]
2006-07-02 5:52 ` Craig Carey
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox