comp.lang.ada
 help / color / mirror / Atom feed
From: "Theodore E. Dennison" <dennison@escmail.mmc.orl.com>
Subject: Re: Addressing functions
Date: 14 Dec 1994 13:59:01 GMT
Date: 1994-12-14T13:59:01+00:00	[thread overview]
Message-ID: <3cmtn5$1vk@theopolis.orl.mmc.com> (raw)
In-Reply-To: EACHUS.94Dec13101448@spectre.mitre.org

 In article <3citrc$bb5@earth.usa.net> wbuckley@earth (Bill Buckley) writes:
 
  > For instance if I were to have an array of subprogram addresses
  > A(1..2) => (1 => Print1'ADDRESS,
  >             2 => Print2'ADDRESS);
  > how could I implement the calling these functions...I have heard
  > from several other Ada programmers that this may not be possible.
 

To get the same effect (but in a "safe" manner), why not do the
following? :

   subtype Procedure_Range is 1..2;
   procedure A (Index : in Procedure_Range) is
   begin
      case Index is
         when 1 => Print1;
         when 2 => Print2;
      end case;
   end A;

This way you are calling explicit procedures, rather than jumping
to addresses containing "Lord-only-knows-what".

There is a very good reason for a lot of what Ada prevents you from
doing.

T.E.D.



  reply	other threads:[~1994-12-14 13:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-12-13  1:36 Addressing functions Bill Buckley
1994-12-13 10:14 ` Robert I. Eachus
1994-12-14 13:59   ` Theodore E. Dennison [this message]
1994-12-16 14:18   ` Arthur Evans Jr
1994-12-17 17:27     ` Robert Dewar
1994-12-17 17:32     ` Robert Dewar
1994-12-18  6:44       ` Bill Buckley
1994-12-16 16:56   ` Robert Dewar
1994-12-13 19:04 ` Bob Duff
1994-12-14  1:48 ` Michael Feldman
1994-12-16 14:53   ` Robert Dewar
1994-12-17  7:23   ` Addressing functions (long) Michael M. Bishop
1994-12-18  6:53     ` Bill Buckley
1994-12-14 12:33 ` Addressing functions Mitch Gart
1994-12-15 16:26   ` Erich A. Pfeiffer
replies disabled

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