comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: Constructing an object
Date: Sat, 01 Oct 2005 17:19:40 +0200
Date: 2005-10-01T17:18:08+02:00	[thread overview]
Message-ID: <433ea8af$0$16493$9b4e6d93@newsread4.arcor-online.net> (raw)
In-Reply-To: <GaWdncMchraYRqDeRVn-1Q@megapath.net>

Randy Brukardt wrote:

> Actually, it wouldn't be that hard to add that to Ada 200Y. We have the
> "overriding" keyword to specify overriding. Additional keywords could
> specify other types of extension -- "extends" perhaps. That would look like:
> 
>     extends
>     procedure Finalize (Obj : in out My_Type);
> 
> or perhaps
> 
>     extends after
>     procedure Finalize (Obj : in out My_Type);
> 
> to specify when the parent routine is called.


AFAICS, the programming language BETA, successor to Simula, has virtual
patterns of the general kind, extending in descendants.
(Everything in BETA is a pattern, "The abstraction mechanisms
include class, procedure, function, coroutine, process, exception and many
more, all unified into the ultimate abstraction mechanism: the pattern.")

Virtual patterns actually use the wording suggested in this thread.

http://www.daimi.au.dk/~beta/Manuals/latest/beta-intro/Introduction.html#H3_1

From
http://www.daimi.au.dk/~beta/Manuals/latest/beta-intro/Virtual.html :

"In fact a virtual pattern in BETA can only be extended and cannot be
completely redefined."

The word "inner" is used to denote a part of a superpattern that is
defined in subpatterns.

From the second URL:

A: (# V:< (# x:  do I1; inner; I2 #) #);
AA: A(# V::< (# y:  do I3; inner; I4#) #)

The pattern A has a virtual procedure attribute V. V has an attribute x
and its do-part contains the execution of I1; inner; I2.
The subpattern AA of A extends the definition of V. The extended
definition of V in AA corresponds to the following object-descriptor
(except for scope rules):

4.3 Combined descriptor

(# x: ; y:  do I1; I3; inner; I4; I2 #)



  parent reply	other threads:[~2005-10-01 15:19 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-21  8:46 Constructing an object Maciej Sobczak
2005-09-21 10:16 ` Georg Bauhaus
2005-09-22  7:21   ` Maciej Sobczak
2005-09-21 11:55 ` Dmitry A. Kazakov
2005-09-22  7:28   ` Maciej Sobczak
2005-09-22  7:45     ` Maciej Sobczak
2005-09-22 13:33       ` Dmitry A. Kazakov
2005-09-24  5:23         ` Randy Brukardt
2005-09-24  9:47           ` Dmitry A. Kazakov
2005-09-29  0:12             ` Randy Brukardt
2005-09-29  8:17               ` Dmitry A. Kazakov
2005-09-29 22:21                 ` Randy Brukardt
2005-09-30  8:14                   ` Jean-Pierre Rosen
2005-09-30 19:28                     ` Dmitry A. Kazakov
2005-09-30 17:49                   ` Robert A Duff
2005-10-01  0:44                     ` Randy Brukardt
2005-10-01 10:49                       ` Dmitry A. Kazakov
2005-10-01 11:06                       ` Tapio Kelloniemi
2005-10-01 14:13                         ` Robert A Duff
2005-10-02 11:52                           ` Tapio Kelloniemi
2005-10-01 15:19                       ` Georg Bauhaus [this message]
2005-09-23  5:40 ` Matthew Heaney
2005-09-23  7:18   ` tmoran
2005-09-23  8:23   ` Maciej Sobczak
2005-09-23 12:04     ` Dmitry A. Kazakov
2005-09-23 12:36       ` Matthew Heaney
2005-09-23 13:03         ` Hyman Rosen
2005-09-23 13:41           ` Maciej Sobczak
2005-09-23 14:23           ` Matthew Heaney
2006-01-17  6:28             ` [Offtopic] " James Dennett
2005-09-23 13:42         ` Dmitry A. Kazakov
2005-09-23 14:27           ` Matthew Heaney
2005-09-23 12:24     ` Matthew Heaney
2005-09-24  5:34       ` 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