comp.lang.ada
 help / color / mirror / Atom feed
From: "Ayende Rahien" <Dont@spam.me>
Subject: Re: Problem trying to implement generics.
Date: Fri, 13 Apr 2001 13:54:52 +0200
Date: 2001-04-13T13:54:52+02:00	[thread overview]
Message-ID: <9b6m27$68e$1@taliesin.netcom.net.uk> (raw)
In-Reply-To: PDAB6.10174$FD1.1166748@news6-win.server.ntlworld.com


"chris.danx" <chris.danx@ntlworld.com> wrote in message
news:PDAB6.10174$FD1.1166748@news6-win.server.ntlworld.com...
> Hi,
>
> > The error from Object Ada is:
> > bintree.adb: Error: line 9 col 28 LRM:4.1(3), Direct name, root, is not
> > visible, Ignoring future references
> >
> > The error from GNAT is:
> >
> > bintree.adb:9:42: "root" is undefined (more references follow)
> >
> > With nothing more to follow this.
>
> Ok, this means it's not found a definition for it.  It doesn't know what
or
> where it is.  You probably know that.
>
> [SNIP]
>
> >  private
> >   type Binary_Tree is new Ada.Finalization.controlled with record
> >    root: Node_access := null;
> >   end record;
>
> the error comes because
>
> > package body binTree is
> [snip]
> >  procedure insert(insert_this : in data_type; Sort : in sort_by) is
> >   New_node : Node_Access := new node;
> >   current : Node_access := root; -- This is the line it compline about!!
>
> you've forgot to that Root is in Binary_Tree.

Okay, so how do I fix it? And what is wrong, anyway?

> I have a question.  From your code it doesn't look like an ADT.  Is this
> what you intended?  I can't remember the term for what this looks like,
but
> I think it's to do with storing the Tree as a global variable in the
package
> not as an ADT.

Okay, major cocept problem here.
I'm coming here with C/C++ background, and I understand that Ada has a
different OO paradigm.
I assumed that for each Binary_Tree spesific type that I create, there would
be its own Root.
I mean:
package Int_BinTree is new Binary_Tree(data_type=>
Integer,Sort_by=>Integer);

Bin_Tree_First, Bin_Tree_Second : Int_BinTree;

Does Bin_Tree_First.Root = Bin_Tree_Second.Root ?


> If you want an ADT you need to pass in a Binary_Tree type as necessary.  I
> didn't see it any where in your code so i'm assuming it's based on a
global
> variable.

I think that you are talking about ADO vs ADT , right?
generic abstract data type & generic abstract data object

> There's nothing wrong doing it this way!

Then why doesn't it compile?





  reply	other threads:[~2001-04-13 11:54 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-11 15:04 Problem trying to implement generics Ayende Rahien
2001-04-12  1:41 ` tmoran
2001-04-12 13:15   ` Ayende Rahien
2001-04-12 18:15     ` tmoran
2001-04-13 11:18       ` Ayende Rahien
2001-04-13 10:35         ` chris.danx
2001-04-13 11:54           ` Ayende Rahien [this message]
2001-04-13 11:49             ` chris.danx
2001-04-13 23:03               ` Ayende Rahien
2001-04-13 23:01                 ` Robert A Duff
2001-04-14  0:05                   ` Brian Rogoff
2001-04-14  1:12                     ` Ayende Rahien
2001-04-14  1:44                       ` Brian Rogoff
2001-04-14 14:03                         ` Dmitry A. Kazakov
2001-04-14 16:30                           ` Ayende Rahien
2001-04-14 16:28                             ` Michael Erdmann
2001-04-15  3:27                             ` James Rogers
2001-04-15 12:20                               ` Ayende Rahien
2001-04-15 14:09                               ` Dmitry A. Kazakov
2001-04-15 18:22                                 ` tmoran
2001-04-15 13:48                             ` Dmitry A. Kazakov
2001-04-15 20:44                               ` Ayende Rahien
2001-04-16 14:34                                 ` Dmitry A. Kazakov
2001-04-14  1:33                     ` Robert A Duff
2001-04-17  8:50                     ` Jean-Pierre Rosen
2001-04-17 13:20                   ` Tucker Taft
2001-04-17 16:51                     ` Ayende Rahien
2001-04-17 17:16                       ` Larry Hazel
2001-04-17 18:11                         ` Brian Rogoff
2001-04-17 19:10                           ` Marin David Condic
2001-04-17 21:08                             ` Brian Rogoff
2001-04-18 15:16                               ` Chad R. Meiners
2001-04-18 16:33                                 ` Marin David Condic
2001-04-17 21:09                             ` chris.danx
2001-04-17 21:11                             ` chris.danx
2001-04-17 21:17                             ` chris.danx
2001-05-08  5:40                             ` Lao Xiao Hai
2001-05-11  9:43                               ` John English
2001-05-12 19:16                                 ` Lao Xiao Hai
2001-04-17 19:32                           ` Larry Hazel
2001-04-17 21:03                           ` Ayende Rahien
2001-04-18 15:48                             ` Brian Rogoff
2001-04-20 12:34                               ` Georg Bauhaus
2001-04-20 12:42                                 ` Lutz Donnerhacke
2001-04-20 12:45                                 ` Lutz Donnerhacke
2001-04-20 19:48                                 ` Brian Rogoff
2001-04-20 20:36                                   ` David Starner
2001-04-20 23:02                                   ` Robert A Duff
2001-04-23  2:45                                     ` Brian Rogoff
2001-04-24  1:15                                       ` Robert A Duff
2001-04-24  2:00                                         ` Brian Rogoff
2001-04-24 15:12                                           ` Georg Bauhaus
2001-04-24 15:09                                         ` Georg Bauhaus
2001-04-24 18:36                                           ` Marius Amado Alves
2001-04-19 13:08                           ` Larry Kilgallen
     [not found]                           ` <9bi4g4$97m$1@nh.pace.Organization: LJK Software <YlSyXUaQmD+$@eisner.encompasserve.org>
2001-04-19 14:20                             ` Marin David Condic
2001-04-18  5:34                       ` Mike Silva
2001-04-18 16:55                       ` Ray Blaak
2001-04-24 16:00                       ` Tucker Taft
2001-04-12 13:57 ` Andy
2001-04-13  6:34   ` Simon Wright
2001-04-13 11:11   ` Ayende Rahien
2001-04-12 18:06 ` Stephen Leake
replies disabled

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