comp.lang.ada
 help / color / mirror / Atom feed
From: Hyman Rosen <hyrosen@mail.com>
Subject: Re: OOP Language for OS Development
Date: Fri, 23 Apr 2004 17:18:56 -0400
Date: 2004-04-23T17:18:56-04:00	[thread overview]
Message-ID: <1082755136.352016@master.nyc.kbcfp.com> (raw)
In-Reply-To: <c6btcv$2gn$1@a1-hrz.uni-duisburg.de>

Georg Bauhaus wrote:
> So in the general case where the method will have (side)
> effects on object variables I use an if (once) {...} with a
> static bool once, I guess?

What do you mean? A static variable in a function is initialized
the first time control passes through the declarartion, and never
again. So my code is equivalent to your ONCE method - the first
time the function is called, the variable will be initialized, so
you can plant all of the code you want to execute once as part of
that initialization. After that, no matter how many times you call
the function, the initialization code won't be executed.

> Whatever suggests the necessity of ONCE in a language, if it is
 > necessary then being able to write ONCE might have an advantage
 > in my view.

*Shrug* I'm not thrilled with a language feature which allows the
compiler to replace a call to f(2) with an earlier call to f(1),
but maybe that's just me. Ada allows you to decorate a function
with Pragma Pure, and then it can elide multiple calls to a function
if it is called with the same parameters (regardless of whether the
function has side effects).

> So the compiler, compiling seperately, will not know which types
> can be passed to some_C.foo before the linker is run.

In C++, there is no some_C.foo. There is a some_C<T>.foo for each
type T that some_C is instantiated with. Each one is a logically
separate function, and they have nothing to do with each other.



  reply	other threads:[~2004-04-23 21:18 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
2004-04-23 20:13               ` Georg Bauhaus
2004-04-23 21:18                 ` Hyman Rosen [this message]
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