comp.lang.ada
 help / color / mirror / Atom feed
From: Eric Hughes <eric.eh9@gmail.com>
Subject: Re: default formal parameters in generic declarations
Date: Fri, 7 Mar 2008 12:09:48 -0800 (PST)
Date: 2008-03-07T12:09:48-08:00	[thread overview]
Message-ID: <5a3818e9-2f04-4c28-9011-834571b58b21@o77g2000hsf.googlegroups.com> (raw)
In-Reply-To: 47d11e46$0$25511$9b4e6d93@newsspool1.arcor-online.net

On Mar 7, 3:51 am, Georg Bauhaus <rm.tsoh.plus-
bug.bauh...@maps.futureapps.de> wrote:
[another example elided]
> This object
> can be overridden, passed downwards to other instantiations,
> "intercepted" by different Functionality_Interface'Class objects...
> But, as Eric has explained, going along this path does not
> yet lead to complete solution.

I would like to expand upon this.  The essential deficit is that
subprogram instantiation only addresses the middle of the life cycle
of an object, but neither it's beginning nor end.  During the middle
of the life cycle, there must be a way of hooking into the operation
of an object.  In AOP parlance, these are called cut points and their
manifestation is a subprogram (either by call or in-line).  Yet this
does not address memory allocation of the state of an aspect, which
must, in general, be allocated one-to-one (aspect-to-object).  The
easiest pattern for this simply inserts the aspect state into the
object; this is efficient and avoids explicit deallocation.  There are
other ways one might conceive of doing this, and all of them require
action at the beginning and end of the life cycle.  You could
accomplish this, say, with a controlled base type and an associative
array for arbitrary dereference.  Without type or package formal
parameters, however, it's impossible to get the aspect state simply
inserted.

Eric



  reply	other threads:[~2008-03-07 20:09 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-02 17:21 default formal parameters in generic declarations Eric Hughes
2008-03-02 17:42 ` Robert A Duff
2008-03-02 19:40   ` Eric Hughes
2008-03-03  9:17     ` Dmitry A. Kazakov
2008-03-03 11:15       ` Georg Bauhaus
2008-03-03 13:56         ` Dmitry A. Kazakov
2008-03-04 16:15       ` Eric Hughes
2008-03-04  3:43     ` Randy Brukardt
2008-03-04 16:51       ` Eric Hughes
2008-03-04 18:43         ` Randy Brukardt
2008-03-05 21:08           ` Eric Hughes
2008-03-06  9:32             ` Georg Bauhaus
2008-03-06 18:05               ` Eric Hughes
2008-03-06 22:41                 ` Ludovic Brenta
2008-03-07 10:51                   ` Georg Bauhaus
2008-03-07 20:09                     ` Eric Hughes [this message]
2008-03-03 12:42 ` Stephen Leake
2008-03-04 13:50   ` Dr. Adrian Wrigley
2008-03-04 16:56     ` Eric Hughes
2008-03-04 16:44   ` Eric Hughes
2008-03-05 13:11     ` Stephen Leake
2008-03-05 21:41       ` 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