comp.lang.ada
 help / color / mirror / Atom feed
From: amir@iae.nsk.su (Amir Yantimirov)
Subject: Re: Imitation is the sincerest form of flattery
Date: 25 Mar 2003 23:32:52 -0800
Date: 2003-03-26T07:32:53+00:00	[thread overview]
Message-ID: <5115eb96.0303252332.3fabaad2@posting.google.com> (raw)
In-Reply-To: 6Y_fa.5102$kU.534@nwrdny01.gnilink.net

"Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> wrote in message news:<6Y_fa.5102$kU.534@nwrdny01.gnilink.net>...
> "Amir Yantimirov" <amir@iae.nsk.su> wrote in message
> news:5115eb96.0303242148.57027600@posting.google.com...
> 
> > Not that. I propose something alike this:
> >
> > type TFoo = record ... end record;
> >
> > procedure Bar ( Baz : in out TFoo);
> >   with TFoo:
> >     'First = 1;
> >     'Last = 32;
> >     [].Read = ReadBits;
> >     [].Write = WriteBits;
> >   end with;
> > begin
> >   Baz[40] := 0; -- compile error!
> 
> I'm a little confused by this pseudo-code. Is Bar a derived type? Is it some
> sort of constructor? And what does the "[].Write = WriteBits;" statement do?
> You may very well have a quite valuable idea here, but this code sample does
> not convey it. Now that you have piqued our curiousity, please clarify.

It is a poor attempt to show how can looks addition of array interface
with fixed index bounds (so compiler can do range check) to already
defined type and inside some scope (procedure Bar). I never used Ada
and attempt to make example looks Ada-like only adds confusion.

The previous poster wrote that extending of type interface exist only
in dynamic languages as Smalltalk and don't allow compile time checks
and I tried to show that (theoretically) compiler is capable to do
this statically if necessary information is provided.

More of that here:
http://www174.pair.com/yamir/programming/interfaces.htm

In a short, I think it is a serious restriction that we use one
language construct (type/class) for description of two completely
different things - concrete information storage and abstract behaviour
interface.

Amir Yantimirov



  parent reply	other threads:[~2003-03-26  7:32 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-14 17:22 Imitation is the sincerest form of flattery Robert C. Leif
2003-03-14 17:57 ` Warren W. Gay VE3WWG
2003-03-14 18:16 ` chris.danx
2003-03-14 18:17 ` Hyman Rosen
2003-03-15 14:18   ` Georg Bauhaus
2003-03-16  1:06     ` Hyman Rosen
2003-03-18 10:37       ` Georg Bauhaus
2003-03-18 15:34         ` Dmitry A. Kazakov
2003-03-19 11:12           ` Georg Bauhaus
2003-03-20  8:42             ` Dmitry A. Kazakov
2003-03-20 14:27               ` Frank J. Lhota
2003-03-21  8:44                 ` Dmitry A. Kazakov
2003-03-21 17:16                   ` Pascal Obry
2003-03-22  9:05                     ` Dmitry A. Kazakov
2003-03-22 14:11                       ` Pascal Obry
2003-03-22 23:12                         ` AG
2003-03-23  9:01                           ` Dmitry A. Kazakov
2003-03-23  8:51                         ` Dmitry A. Kazakov
2003-03-24 16:52                           ` Hyman Rosen
2003-03-24 18:10                             ` Dmitry A. Kazakov
2003-03-24 18:33                               ` Hyman Rosen
2003-03-25  5:04                                 ` Amir Yantimirov
2003-03-25 19:55                                 ` Dmitry A. Kazakov
2003-03-25 20:22                                   ` Hyman Rosen
2003-03-26 13:02                                     ` Dmitry A. Kazakov
2003-03-26 15:06                                       ` Hyman Rosen
2003-03-26 16:21                                         ` Dmitry A. Kazakov
2003-03-26 17:00                                           ` Hyman Rosen
2003-03-26 18:21                                             ` Bill Findlay
2003-03-26 18:40                                               ` Hyman Rosen
2003-03-22 10:01                   ` Amir Yantimirov
2003-03-23  8:41                     ` Dmitry A. Kazakov
2003-03-24  4:53                       ` Amir Yantimirov
2003-03-24 18:10                         ` Dmitry A. Kazakov
2003-03-25  5:48                           ` Amir Yantimirov
2003-03-25 15:53                             ` Frank J. Lhota
2003-03-25 16:44                               ` Robert A Duff
2003-03-25 18:24                                 ` Frank J. Lhota
2003-03-25 20:06                                   ` Dmitry A. Kazakov
2003-03-27 19:45                                     ` Frank J. Lhota
2003-03-27 21:25                                       ` Pascal Obry
2003-03-28 13:34                                       ` Dmitry A. Kazakov
2003-04-01 14:38                                         ` Frank J. Lhota
2003-04-02  7:37                                           ` Dmitry A. Kazakov
2003-03-26  7:48                                 ` Amir Yantimirov
2003-03-26 13:35                                   ` Dmitry A. Kazakov
2003-03-26  7:32                               ` Amir Yantimirov [this message]
2003-03-20 23:28               ` Matthew Heaney
2003-03-21  8:49                 ` Dmitry A. Kazakov
2003-03-21 21:07                   ` Georg Bauhaus
2003-03-22  9:04                     ` Dmitry A. Kazakov
2003-03-22 10:05                       ` AG
2003-03-22 15:25                         ` Georg Bauhaus
2003-03-22 19:27                           ` AG
2003-03-22 21:45                             ` Vinzent Hoefler
2003-03-22 22:28                               ` AG
2003-03-23 23:47                     ` Robert A Duff
2003-03-28 16:34                       ` Georg Bauhaus
2003-03-18 15:58         ` Hyman Rosen
2003-03-19 11:05           ` Georg Bauhaus
2003-03-23 11:31       ` Florian Weimer
2003-03-23 23:39         ` Hyman Rosen
2003-03-15 12:52 ` Florian Weimer
replies disabled

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