From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Imitation is the sincerest form of flattery
Date: 25 Mar 2003 11:44:27 -0500
Date: 2003-03-25T11:44:27-05:00 [thread overview]
Message-ID: <wccn0jjv1jo.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 6Y_fa.5102$kU.534@nwrdny01.gnilink.net
"Frank J. Lhota" <NOSPAM.lhota.adarose@verizon.net> writes:
> If there is a way to get the effect of tagged scalar types without a big hit
> on efficiency, however, it would certainly be helpful.
Well, I think efficiency per se is irrelevant to language design.
What matters is distributed overhead -- you don't want to pay
an efficiency cost for features you don't use.
If a feature is useful, then presumably implementers will implement it
in the most efficient way that's reasonable. It doesn't make sense to
leave out a feature purely because it is inherently slow -- if it's
useful, then programmers will have to implement it themselves, and it
will *still* be slow. It makes sense to leave out a feature if it makes
*other* features slower than they would otherwise need to be.
So the question is whether a language can provide extensible scalars
with dispatching calls without slowing code that doesn't need that
power. I think the answer is yes: don't store the tag with every
object. Instead, gin it up when calling a class-wide operation.
So "+" on normal (non-class-wide) integers can be a single machine
instruction, and integers can be stored as a single word. The compiler
can determine when to gin up a tag -- no need for explicit boxing
operations.
- Bob
next prev parent reply other threads:[~2003-03-25 16:44 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 [this message]
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