From: adam@irvine.com (Adam Beneschan)
Subject: Re: generic packages
Date: 11 Jul 2002 13:56:55 -0700
Date: 2002-07-11T20:56:56+00:00 [thread overview]
Message-ID: <b4682ab7.0207111256.2550514c@posting.google.com> (raw)
In-Reply-To: 3D2D8B01.9040303@wanadoo.fr
Sami Evangelista <sami.evangelista@wanadoo.fr> wrote in message news:<3D2D8B01.9040303@wanadoo.fr>...
> thank you for your response, but does the following code compile?
>
> =======================================================
> --file generic_set.ads
>
> generic
> type Element is private;
> with function "=" (E1, E2 : in Element) return boolean;
> package Generic_Set is
> type Set_Record is private;
> type Set is private;
> generic
> with package a_set is new generic_set(<>);
> with package b_set is new generic_set(<>);
> with function a_to_b(A : in a_set.element) return
>
> b_set.element;
> function a_set_to_b_set(the_set : in a_set.set) return b_set.set;
>
>
> private
> type Set is access Set_record;
> type Set_record is record
> El : Element;
> Others_Els : Set;
> end record;
> end Generic_Set;
> =======================================================
>
> Sami Evangelista
The code, as you've written it, is illegal. Within the declarative
region of Generic_Set, if you use the name Generic_Set, it denotes the
*current* *instance* of the generic, rather than the generic itself.
Thus, since Generic_Set doesn't denote a generic in this context, it
can't be used where a generic is expected in this formal package
declaration:
with package a_set is new generic_set(<>);
See 8.6(18), 12.1(11).
-- Adam
next prev parent reply other threads:[~2002-07-11 20:56 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-09 13:03 generic packages Sami Evangelista
2002-07-09 13:28 ` Fabien Garcia
2002-07-09 13:41 ` Sami Evangelista
2002-07-10 2:00 ` SteveD
2002-07-11 13:41 ` Sami Evangelista
2002-07-11 20:56 ` Adam Beneschan [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-04-19 21:27 Generic Packages Eyal Ben-gal
2001-04-19 20:26 ` Ehud Lamm
2001-04-19 22:09 ` Robert A Duff
2001-04-20 6:50 ` Ehud Lamm
2000-02-16 0:00 Generic packages David Olsson
2000-02-16 0:00 ` R. Tim Coslet
1998-08-10 0:00 Generic Packages Tory Patnoe
1998-08-11 0:00 ` Robert I. Eachus
1998-08-11 0:00 ` Tucker Taft
1998-08-12 0:00 ` Dale Stanbrough
1998-08-17 0:00 ` Dr. Hubert B. Keller
1998-08-27 0:00 ` Simon Wright
[not found] <5e03nm$esq@netty.york.ac.uk>
1997-02-15 0:00 ` Jon S Anthony
1997-02-20 0:00 ` phtruong
1997-02-21 0:00 ` Robert Dewar
1997-02-25 0:00 ` Quorlia
1997-02-27 0:00 ` Robert Dewar
[not found] <4inq3c$lr9@NNTP.MsState.Edu>
1996-03-22 0:00 ` John Herro
1996-03-22 0:00 ` Samuel Tardieu
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox