comp.lang.ada
 help / color / mirror / Atom feed
From: cl1motorsports <cwlambert76@yahoo.com>
Subject: Re: how do i implement double-dispatching?
Date: Mon, 22 Dec 2003 18:04:52 -0500
Date: 2003-12-22T18:04:52-05:00	[thread overview]
Message-ID: <pan.2003.12.22.23.04.46.656829@yahoo.com> (raw)
In-Reply-To: mailman.160.1072133388.31149.comp.lang.ada@ada-france.org

On Mon, 22 Dec 2003 17:49:41 -0500, Stephen Leake wrote:

> cl1motorsports <cwlambert76@yahoo.com> writes:
> 
>> Okay. now it works when the Visitor type, Visit() procedures and the
>> Accept_Visitor() procedure is in a separate package from the parse tree.
>> but when i try to combine the 2 into one package i get
>> an error about multiple dispatching on all of the Visit() procedures.
>> what is my scope issue with being in the same package that doesn't apply
>> to them being in 2 packages?
> 
> In general, you will find that the Ada rules encourage putting things
> in different packages. This is a Good Thing :).
But in this case there is no point of having a visitor with out a tree to
visit or a parse tree with no visitor to run operations on it. Currently
to use this in a program i have to do this:

with Parse_Tree_Pkg; use Parse_Tree_Pkg;
with Abstract_Visitor_Pkg; use Abstract_Visitor_Pkg;
with Interpret_Tree; use Interpret_Tree;

a person using the interpret_Tree package having to know that it's
created from an abstract visitor package exposes implementation and that's
what I am trying to avoid. The user should only have to do:

with parse_tree_pkg; use parse_tree_pkg;
with Interpret_Tree; use interpret_Tree;

am i correct on this or am i missing something?


> 
> Sometimes child packages work better.




      reply	other threads:[~2003-12-22 23:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-17 18:08 how do i implement double-dispatching? cl1motorsports
2003-12-18  2:17 ` Stephen Leake
2003-12-18  9:48 ` Dmitry A. Kazakov
2003-12-18 15:13 ` Martin Krischik
2003-12-20  6:27 ` cl1motorsports
2003-12-20  9:56   ` Martin Krischik
2003-12-20 17:00     ` cl1motorsports
2003-12-21 13:39       ` Stephen Leake
2003-12-21 17:40         ` cl1motorsports
2003-12-22 22:47           ` Stephen Leake
2003-12-22 21:41   ` cl1motorsports
2003-12-22 21:47     ` cl1motorsports
2003-12-23 11:03       ` Dmitry A. Kazakov
2003-12-22 22:49     ` Stephen Leake
2003-12-22 23:04       ` cl1motorsports [this message]
replies disabled

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