From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: OOP Language for OS Development
Date: Fri, 23 Apr 2004 12:45:47 -0400
Date: 2004-04-23T12:45:47-04:00 [thread overview]
Message-ID: <1082738747.300309@master.nyc.kbcfp.com> (raw)
In-Reply-To: <c6bfs3$ed7$1@a1-hrz.uni-duisburg.de>
Georg Bauhaus wrote:
> How would you write "once" routines in C++?
With a static method containing a static value, of course.
class UponATime
{
static double Once(/* args */)
{
static double value = /* some calculation */;
return value;
}
};
It appears from my looking up what once functions do,
that arguments to the call are irrelevant for determining
whether it should be re-executed. If so, that's another
example of a hideous language design choice made by Eiffel.
> How about the fine grained visibility control (where each feature
> can be made visible to only a specified set of types)?
Speaking of hideous design decisions. This whole concept
of classes having fine-grained dictatorial control over
whom they allow access to their innards is more than a
little silly.
> They are different I think. Can you express
> deferred class C [P -> T]
> feature foo(x: P): P is deferred end
> end -- C
> in C++?
Sure. You just don't define the method, and if it gets used,
the linker will complain. Or if it's virtual, then you can
make it abstract.
template <typename T>
struct C
{
T foo(T x);
virtual T bar(T x) = 0;
};
next prev parent reply other threads:[~2004-04-23 16:45 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-15 5:53 OOP Language for OS Development KingIshu
2004-04-15 8:02 ` Martin Krischik
2004-04-15 12:25 ` Ioannis Vranos
2004-04-15 12:49 ` Ioannis Vranos
2004-04-15 12:39 ` Thomas Gagné
2004-04-15 14:32 ` jeffc
2004-04-15 14:45 ` Luke Guest
2004-04-17 16:30 ` Ender Everett
2004-04-19 1:53 ` EventHelix.com
2004-04-19 7:25 ` Martin Krischik
2004-04-19 8:35 ` Jean-Pierre Rosen
2004-04-19 9:16 ` Ioannis Vranos
2004-04-19 11:15 ` Jean-Pierre Rosen
2004-04-19 11:32 ` Martin Krischik
2004-04-19 17:36 ` Christopher Benson-Manica
2004-04-19 11:09 ` Philippe Ribet
2004-04-22 7:34 ` Calum
2004-04-22 10:48 ` John English
2004-04-23 8:36 ` Philippe Ribet
2004-04-23 9:55 ` Calum
2004-04-23 14:30 ` Steven Wurster
2004-04-23 15:04 ` Hyman Rosen
2004-04-23 22:08 ` Brian_Heilig
2004-04-23 22:33 ` Hyman Rosen
2004-04-24 12:53 ` Robert C. Martin
2004-04-25 1:25 ` Steven Wurster
2004-04-25 12:30 ` Robert C. Martin
2004-04-24 19:58 ` Anthony Weissenberger
2004-04-25 2:24 ` Hyman Rosen
2004-04-24 0:01 ` Steven Wurster
2004-04-24 15:27 ` JKop
2004-04-24 21:41 ` Greg C
2004-04-24 22:17 ` Steven Wurster
2004-04-29 17:43 ` Brian_Heilig
2004-04-23 16:22 ` Georg Bauhaus
2004-04-23 16:45 ` Hyman Rosen [this message]
2004-04-23 20:13 ` Georg Bauhaus
2004-04-23 21:18 ` Hyman Rosen
2004-04-24 10:33 ` Georg Bauhaus
2004-04-25 2:27 ` Hyman Rosen
2004-04-23 23:03 ` Brian_Heilig
2004-04-25 2:42 ` Hyman Rosen
2004-05-04 18:37 ` Dr Chaos
2004-05-05 11:58 ` Ged
2004-05-05 12:28 ` Thomas Gagné
2004-05-06 9:35 ` Ged
2004-04-24 0:10 ` Steven Wurster
2004-04-25 2:37 ` Hyman Rosen
2004-04-24 1:00 ` Brian_Heilig
2004-04-26 3:43 ` Berend de Boer
2004-04-26 4:17 ` Christopher Browne
2004-04-26 21:52 ` Berend de Boer
2004-05-04 4:14 ` Richard Riehle
2004-05-04 21:15 ` Berend de Boer
2004-04-28 19:53 ` Philippe Ribet
2004-04-29 8:32 ` Georg Bauhaus
2004-04-30 17:48 ` Philippe Ribet
2004-04-29 17:39 ` Brian_Heilig
[not found] ` <1402879.WneVss6BD6@linux1.krischik.com>
[not found] ` <ba03b545.0404300503.376243c8@posting.google.com>
[not found] ` <c6tk6v$amm$1@news.BelWue.DE>
2004-04-30 13:46 ` Preben Randhol
2004-04-30 19:30 ` Steven Wurster
2004-04-24 22:09 ` Thomas Gagné
2004-04-25 2:17 ` Hyman Rosen
2004-04-25 16:31 ` Alexander E. Kopilovich
2004-04-25 16:58 ` Isaac Gouy
2004-04-26 0:01 ` Cesar Rabak
2004-04-26 6:14 ` Isaac Gouy
2004-04-26 2:06 ` Thomas Gagné
2004-04-25 16:29 ` Alexander E. Kopilovich
2004-04-26 4:17 ` Christopher Browne
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox