From: "Michael F. Yoder" <yoder@decada.zko.dec.com>
Subject: Re: Subverting 'Access for Sub-programs
Date: 1999/08/03
Date: 1999-08-03T00:00:00+00:00 [thread overview]
Message-ID: <37A6F747.39318757@decada.zko.dec.com> (raw)
In-Reply-To: 37A71EF1.2201@dera.gov.uk
Anton Gibbs wrote:
>
> Dear Ada Community,
>
> Can someone please advise me on the best way to subvert the language
> rules that prevent the use of 'Access on a locally declared procedure?
> ...
Is the following rearranged version, which compiled and ran using GNAT,
sufficient? If not, is there something missing from your example that
shows your problem more exactly?
package Database is
type Action_Type is access procedure( I : in Integer );
-- Perform calls Action for every entry in the database
procedure Perform( Action : in Action_Type );
end Database;
package body Database is
procedure Perform( Action : in Action_Type ) is
begin
for I in 1 .. 10 loop
Action.all(I);
end loop;
end Perform;
end Database;
package p is
procedure Print_If_Even( I : in Integer );
end p;
with Ada.Text_IO;
package body p is
procedure Print_If_Even( I : in Integer ) is
begin
if I rem 2 = 0 then
Ada.Text_IO.Put_Line( Integer'Image( I ) );
end if;
end Print_If_Even;
end p;
with Database;
with p;
procedure Main is
begin
Database.Perform( Action => p.Print_If_Even'Access );
end Main;
--
Michael F. Yoder
Unscientific man is beset by a deplorable desire to have been right.
The scientist is distinguished by a desire to *be* right. -- W.V. Quine
next prev parent reply other threads:[~1999-08-03 0:00 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-03 0:00 Subverting 'Access for Sub-programs Anton Gibbs
1999-08-03 0:00 ` David C. Hoos, Sr.
1999-08-05 0:00 ` Robert A Duff
1999-08-03 0:00 ` Michael F. Yoder [this message]
1999-08-03 0:00 ` Brian Rogoff
1999-08-03 0:00 ` tmoran
1999-08-03 0:00 ` Steve Doiel
1999-08-03 0:00 ` Ted Dennison
1999-08-04 0:00 ` Anton Gibbs
1999-08-04 0:00 ` Robert A Duff
1999-08-04 0:00 ` Brian Rogoff
1999-08-05 0:00 ` tmoran
1999-08-05 0:00 ` Aidan Skinner
1999-08-05 0:00 ` Robert Dewar
1999-08-05 0:00 ` Ray Blaak
1999-08-06 0:00 ` Robert Dewar
1999-08-06 0:00 ` Robert A Duff
1999-08-08 0:00 ` Brian Rogoff
1999-08-09 0:00 ` Robert A Duff
1999-08-10 0:00 ` Brian Rogoff
1999-08-09 0:00 ` Tucker Taft
1999-08-06 0:00 ` Jean-Pierre Rosen
1999-08-06 0:00 ` Hyman Rosen
1999-08-07 0:00 ` Florian Weimer
1999-08-05 0:00 ` Anton Gibbs
1999-08-04 0:00 ` Jean-Pierre Rosen
1999-08-04 0:00 ` Brian Rogoff
1999-08-05 0:00 ` Jean-Pierre Rosen
1999-08-05 0:00 ` adam
1999-08-05 0:00 ` adam
1999-08-06 0:00 ` Robert A Duff
1999-08-06 0:00 ` adam
1999-08-09 0:00 ` Robert A Duff
1999-08-09 0:00 ` Mark Biggar
1999-08-05 0:00 ` Robert Dewar
1999-08-05 0:00 ` What is a Display ? (was: Subverting 'Access for Sub-programs) Larry Kilgallen
1999-08-05 0:00 ` Hyman Rosen
1999-08-06 0:00 ` Robert Dewar
1999-08-06 0:00 ` Robert Dewar
1999-08-05 0:00 ` Subverting 'Access for Sub-programs Robert A Duff
1999-08-05 0:00 ` Robert Dewar
1999-08-05 0:00 ` Brian Rogoff
1999-08-06 0:00 ` Robert Dewar
1999-08-09 0:00 ` Tucker Taft
1999-08-10 0:00 ` Robert Dewar
1999-08-11 0:00 ` Dmitry A. Kazakov
1999-08-11 0:00 ` Richard D Riehle
1999-08-11 0:00 ` Robert Dewar
1999-08-12 0:00 ` Dmitry A. Kazakov
1999-08-14 0:00 ` Robert Dewar
1999-08-16 0:00 ` Dmitry A. Kazakov
1999-08-11 0:00 ` Tucker Taft
1999-08-13 0:00 ` Robert Dewar
1999-08-13 0:00 ` Robert Dewar
1999-08-13 0:00 ` Brian Rogoff
1999-08-11 0:00 ` Robert A Duff
1999-08-11 0:00 ` Robert Dewar
1999-08-05 0:00 ` tmoran
1999-08-06 0:00 ` Robert A Duff
1999-08-06 0:00 ` Brian Rogoff
1999-08-07 0:00 ` Gautier
1999-08-05 0:00 ` Robert A Duff
1999-08-05 0:00 ` Robert Dewar
1999-08-05 0:00 ` Brian Rogoff
1999-08-05 0:00 ` Steve Quinlan
1999-08-04 0:00 ` Robert Dewar
1999-08-04 0:00 ` Robert A Duff
1999-08-04 0:00 ` Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox