From: "Mário Amado Alves" <amado.alves@netcabo.pt>
To: <comp.lang.ada@ada-france.org>
Subject: RE: Usage of Interfaces with Ada 95
Date: Tue, 30 Sep 2003 11:02:04 +0100
Date: 2003-09-30T11:02:04+01:00 [thread overview]
Message-ID: <mailman.13.1064915564.25614.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <l2fn41-0j8.ln1@boavista.snafu.de>
> > generic
> > type Iterator_Type is private;
> > with function Succ (Iterator : Iterator_Type)
> > return Iterator_Type is <>;
> > with procedure Process (Iterator : Iterator_Type) is <>;
> > with function "=" (L, R : Iterator_Type)
> > return Boolean is <>;
> > procedure Generic_Algorithm (First, Back : Iterator_Type);
>
> I think the is a different view on the topic by defining a
> functionality of an interface, providing a generic
> implementation which defines the
> interface for the programmer. This was exactly what i dont like to
> do. I dont like to spent the effort of breaking down a concept into
> a generic implementation. This is the reason why i like to
> use interfaces.
Somebody has to implement at some point. I think the example come short.
There is a 'zero-implementation' way to specify interfaces in Ada:
signature packages. The signature package for the stuff above is
generic
type Iterator_Type is private;
with function Succ (Iterator : Iterator_Type) return Iterator_Type is
<>;
with procedure Process (Iterator : Iterator_Type) is <>;
with function "=" (L, R : Iterator_Type) return Boolean is <>;
with procedure Generic_Algorithm (First, Back : Iterator_Type) is <>;
package Signature is end;
next prev parent reply other threads:[~2003-09-30 10:02 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-26 16:36 Usage of Interfaces with Ada 95 Michael Erdmann
2003-09-26 16:50 ` chris
2003-09-26 16:55 ` Hyman Rosen
2003-09-26 19:10 ` Michael Erdmann
2003-09-26 20:37 ` Hyman Rosen
2003-09-27 15:05 ` Michael Erdmann
2003-09-28 2:11 ` Matthew Heaney
2003-09-29 2:25 ` George Shapovalov
2003-09-28 2:14 ` Matthew Heaney
2003-09-28 8:28 ` Michael Erdmann
2003-09-28 14:33 ` Matthew Heaney
2003-09-28 15:09 ` Michael Erdmann
2003-09-28 21:50 ` Matthew Heaney
2003-09-30 4:57 ` Michael Erdmann
2003-09-30 10:02 ` Mário Amado Alves [this message]
2003-09-30 12:31 ` Matthew Heaney
2003-09-30 19:58 ` Michael Erdmann
2003-09-28 17:10 ` Simon Wright
2003-09-28 21:52 ` Matthew Heaney
2003-09-28 21:58 ` Matthew Heaney
2003-09-29 19:37 ` Georg Bauhaus
2003-09-29 19:45 ` Georg Bauhaus
2003-09-30 7:10 ` Preben Randhol
2003-09-29 20:11 ` Simon Wright
2003-09-29 22:56 ` Matthew Heaney
2003-09-30 14:53 ` Matthew Heaney
2003-09-30 16:13 ` Preben Randhol
2003-09-29 13:49 ` Matthew Heaney
2003-09-28 18:22 ` Robert I. Eachus
2003-09-29 3:02 ` Hyman Rosen
2003-09-30 3:11 ` Robert I. Eachus
2003-09-30 13:38 ` Hyman Rosen
2003-09-30 21:46 ` Robert I. Eachus
2003-09-30 22:10 ` Hyman Rosen
2003-10-01 2:30 ` Robert I. Eachus
2003-10-01 2:41 ` Robert I. Eachus
2003-10-01 13:21 ` Hyman Rosen
2003-10-01 17:01 ` Robert I. Eachus
2003-10-01 18:46 ` Matthew Heaney
2003-09-29 14:52 ` Stephen Leake
2003-09-29 23:00 ` Matthew Heaney
2003-09-30 12:49 ` Marin David Condic
2003-09-30 23:48 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox