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.
prev parent 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