comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Limited initialization for non-limited types
Date: Wed, 26 Mar 2008 16:08:01 +0100
Date: 2008-03-26T16:08:01+01:00	[thread overview]
Message-ID: <18qmimmlhda5k$.1v4ganr2wmoab.dlg@40tude.net> (raw)
In-Reply-To: b481036a-41ee-4fc5-a0d0-c73cfef60234@s19g2000prg.googlegroups.com

On Wed, 26 Mar 2008 06:26:42 -0700 (PDT), Eric Hughes wrote:

> Is there any way of getting in-place initialization for non-limited
> objects?

[...]

It is both simpler and more complex. What is IMO needed:

1. Extensible operations. (That is when a primitive operation has
non-overridable parts, like constructors, destructors, assignments,
aggregates usually do.)

2. Assignment (a part of) as a doubly dispatching primitive operation. (In
order to have access to LHS and RHS, which is one problem in your example)

3. Constructor (a part of) as a primitive operation. (Again, to access LHS,
which is another problem you have)

4. Multi-stage construction/assignment model. (In order to handle
discriminants before allocation, allocation before components
initialization and components before assignment completion)

----------
P.S. Supertypes, classes for all types, multiple inheritance. These will
give you a way to hang your tracing stuff on any existing type rather than
deriving them from a common base.

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



  parent reply	other threads:[~2008-03-26 15:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-26 13:26 Limited initialization for non-limited types Eric Hughes
2008-03-26 14:02 ` Robert A Duff
2008-03-27  0:07   ` Eric Hughes
2008-03-26 15:08 ` Dmitry A. Kazakov [this message]
2008-03-26 22:13 ` Randy Brukardt
2008-03-27  3:25   ` Eric Hughes
2008-03-28  6:56     ` Randy Brukardt
2008-03-28 15:25       ` Eric Hughes
2008-03-28 21:53         ` Randy Brukardt
2008-03-28 23:37           ` Eric Hughes
2008-04-02  3:00         ` Eric Hughes
2008-03-26 23:00 ` Lucretia
2008-03-28 11:23 ` Martin Krischik
2008-03-28 15:47   ` Eric Hughes
2008-04-02  4:06 ` Eric Hughes
replies disabled

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