comp.lang.ada
 help / color / mirror / Atom feed
From: "Matthew Heaney" <mheaney@on2.com>
Subject: Re: 'withing' problem [code generation]
Date: Tue, 20 Nov 2001 13:43:15 -0500
Date: 2001-11-20T13:43:15-05:00	[thread overview]
Message-ID: <tvl95d3asnbcd4@corp.supernews.com> (raw)
In-Reply-To: 3bfa84ca$0$8514$ed9e5944@reading.news.pipex.net


"David Crocker" <dcrocker@imsltd.com> wrote in message
news:3bfa84ca$0$8514$ed9e5944@reading.news.pipex.net...
> It's not hard to come up with a system that makes the order of C++ include
> files unimportant. Our product currently generates C++ (we would like to
> generate Ada, which is why I started this thread) so we needed just such a
> scheme.

You have to forward declare the types in C++ too:

//chicken.hpp
class Egg;
class Chicken
{
public:
   void lay(Egg&);
};

//egg.hpp
class Chicken;
class Egg
{
public:
   void layer(Chicken*&) const;
};


> The nicest solution is the one used by Java (and by our own product) - no
> restriction at all on forward referencing classes/types, or on packages
> referring to each other (except for absurd cases like 2 classes inheriting
> from each other). This is the way all programming languages should go,
IMO.

That's swell.  Why don't you post this on comp.lang.c++ and see what the
reaction is.  My hunch is that most C++ programmers won't be sympathetic.

You cannot compare static languages like Ada95 and C++ to dynamic languages
like Java or Eiffel.  They were designed to solve different problems, and
hence reflect different philosophies.

> Forward-declarations should be considered obsolete - they only exist to
make
> life easier for the compiler writer, and compiler technology has come a
long
> way now.

It's called "type-checking."  The rule is that an entity has to be declared
before being used.  This is a deliberate feature of the language, and it's
there because the language designer wanted it to be there.  It has nothing
to do with compiler technology (since you could have easily designed the
language without that feature).








  parent reply	other threads:[~2001-11-20 18:43 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-02 10:24 'withing' problem David Crocker
2001-11-02 10:58 ` David C. Hoos, Sr.
2001-11-02 21:32   ` Florian Weimer
2001-11-02 14:49 ` Robert Dewar
2001-11-05  9:49   ` David Crocker
2001-11-02 15:06 ` Wes Groleau
2001-11-02 15:21 ` Ted Dennison
2001-11-02 17:19   ` Ed Falis
2001-11-02 18:17     ` Preben Randhol
2001-11-02 19:15       ` Ed Falis
2001-11-03  2:52       ` DuckE
2001-11-03  9:50         ` Preben Randhol
2001-11-03  8:25   ` Simon Wright
2001-11-03 17:27     ` Richard Riehle
2001-11-04 10:23       ` Simon Wright
2001-11-08 10:58         ` Preben Randhol
2001-11-08 15:24           ` Peter Hend�n
2001-11-10 17:57           ` Simon Wright
2001-11-05  9:48       ` David Crocker
2001-11-05 20:36         ` Ted Dennison
2001-11-06 15:56           ` David Crocker
2001-11-07 15:06             ` Ted Dennison
2001-11-07 16:49               ` Darren New
2001-11-09 20:28         ` Matthew Heaney
2001-11-10 13:55           ` Preben Randhol
2001-11-12 15:10             ` Matthew Heaney
2001-11-10 18:12           ` Simon Wright
2001-11-12 15:13             ` Matthew Heaney
2001-11-13  7:01               ` Simon Wright
2001-11-14 16:10                 ` Matthew Heaney
2001-11-15 20:21                   ` Simon Wright
2001-11-15 21:07                     ` Matthew Heaney
2001-11-16 14:37                     ` Stephen Leake
2001-11-17 22:29                     ` Richard Riehle
2001-11-18 14:53                       ` Simon Wright
2001-11-19  5:51                         ` Simon Wright
2001-11-19 15:23                         ` Matthew Heaney
2001-11-19 17:19                           ` 'withing' problem [code generation] Mark Johnson
2001-11-19 20:58                             ` Stephen Leake
2001-11-19 21:20                               ` Matthew Heaney
2001-11-21  6:20                                 ` Simon Wright
2001-11-20  0:50                               ` Mark Biggar
2001-11-21  6:21                                 ` Simon Wright
2001-11-20 14:42                               ` Mark Johnson
2001-11-20 16:34                                 ` David Crocker
2001-11-20 18:34                                   ` Richard Pinkall-Pollei
2001-11-20 18:43                                   ` Matthew Heaney [this message]
2001-11-20 20:37                                     ` Mark Lundquist
2001-11-22 11:49                                     ` David Crocker
2001-11-20 20:35                                   ` Mark Lundquist
2001-11-22 11:42                                     ` David Crocker
2001-11-19 19:30                           ` 'withing' problem Preben Randhol
2001-11-03  8:26 ` Simon Wright
2001-11-03  8:38 ` Simon Wright
2001-11-05  9:54   ` David Crocker
2001-11-05 18:04     ` tmoran
2001-11-06 15:29       ` David Crocker
2001-11-07  0:38         ` tmoran
2001-11-07 10:11           ` David Crocker
2001-11-07 18:59             ` tmoran
2001-11-08 11:38               ` David Crocker
2001-11-10 18:03                 ` Simon Wright
replies disabled

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