From: amir@iae.nsk.su (Amir Yantimirov)
Subject: Re: Imitation is the sincerest form of flattery
Date: 24 Mar 2003 21:48:54 -0800
Date: 2003-03-25T05:48:55+00:00 [thread overview]
Message-ID: <5115eb96.0303242148.57027600@posting.google.com> (raw)
In-Reply-To: b5nhiq$29oaug$2@ID-77047.news.dfncis.de
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message news:<b5nhiq$29oaug$2@ID-77047.news.dfncis.de>...
>Amir Yantimirov wrote:
>> Oops. Sorry. Anyway, the idea is type functionality may be extended
>> freely so it don't have to be specified in type declaration.
> If nothing specified then nothing can be checked at compile time. There are
> languages like SmallTalk for this, they have their place, but of little
> interest. Because the real challenge is: to check as much as possible,
> giving up as little as we can.
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!
> > Fine. But what's the gain? I rarely needs any _polymorphic_ feature
> > for such types above "this type is distinct four-byte thing".
>
> And what is lost? You need no class-wide objects? Declare them specific!
>
> BTW, Boolean is an enumeration type, check google, and you'll find periodic
> discussions in c.l.a concerning "extensionable" enumeration types:
>
> type Four_State_Logical is new Boolean with (Uncertain, Contradictory);
Different levels of abstraction needs different solutions. So I argue
only that ALL types should be tagged.
Amir Yantimirov
http://www174.pair.com/yamir/programming/
next prev parent reply other threads:[~2003-03-25 5:48 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 [this message]
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
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