comp.lang.ada
 help / color / mirror / Atom feed
From: agate!linus!linus.mitre.org!mwvm.mitre.org!M19481@ucbvax.Berkeley.EDU
Subject: Re: Using Global Variables
Date: 21 Sep 92 18:32:39 GMT	[thread overview]
Message-ID: <16869CC93.M19481@mwvm.mitre.org> (raw)

>OK.  Let's get specific.  Assuming that having to `with' a package does
>not violate the definition of global, the following is definitely the
>declaration of a global variable:
>
>    package Contains_Global is
>       Global_Variable : Integer;
>    end Contains_Global;
>
>Now I can effectively convert this to declare the variable inside the
>package body, but instead of assignment (a predefined procedure with
>special semantics), I must provide my own procedures to access it:
>
>   package Convert_Global is
>      procedure Put (Value : in     Integer);
>      procedure Get (Value :    out Integer);
>
>      pragma Inline (Put, Get);
>   end Convert_Global;
>
>   package body Convert_Global is
>      Is_This_A_Global_Variable : Integer; ----------- What do you say?
>
>      procedure Put (Value : in     Integer) is
>      begin
>         Is_This_A_Global_Variable := Value;
>      end Put;
>
>      procedure Get (Value :    out Integer) is
>      begin
>         Value := Is_This_A_Global_Variable;
>      end Get;
>
>   end Convert_Global;
>
>In an attempt to limit the potential explosion of discussion about
>why one is better than the other--let's try to define the term `Global'
>first!  What is the Integer declared inside the package body?
>
>Doug
>smithd@software.org
 
Yes, I'd call Is_This_A_Global_Variable global, because it can be used by
anyone for any purpose.  The only way to know how it's being used and whether
one procedure may be clobbering the value entered by another procedure would
be to look at every instance of Get and Put in the system and to understand
the relationships between the procedures that they appear in.
 
David

             reply	other threads:[~1992-09-21 18:32 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-21 18:32 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481 [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-09-29 15:05 Using Global Variables Charles H. Sampson
1992-09-28 20:56 crispen
1992-09-28 15:53 Victor Giddings
1992-09-28 14:51 Jeffrey Stewart
1992-09-28 12:52 crispen
1992-09-25 22:58 netcomsv!iscnvx!news
1992-09-25 21:16 Charles H. Sampson
1992-09-25 17:50 Charles H. Sampson
1992-09-25 17:36 Charles H. Sampson
1992-09-25 16:30 David A. Hasan
1992-09-25 14:01 crispen
1992-09-24 20:02 netcomsv!iscnvx!news
1992-09-24 18:10 crispen
1992-09-24  6:51 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!utcsri!geac!torsqnt!uuno
1992-09-24  3:52 Michael Feldman
1992-09-23 21:13 haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.ed
1992-09-23 19:11 Charles H. Sampson
1992-09-23 15:01 crispen
1992-09-23 14:26 munnari.oz.au!ariel!ucsvc.ucs.unimelb.edu.au!phillip.edu.au!x01233
1992-09-23 14:19 crispen
1992-09-23 13:24 wupost!spool.mu.edu!olivea!bu.edu!inmet!inmet!shafer
1992-09-23  2:44 Holmes S. Liao
1992-09-22 20:14 LEE MARDEN
1992-09-22 17:08 dog.ee.lbl.gov!hellgate.utah.edu!cs.utexas.edu!csc.ti.com!tilde.csc.ti.co
1992-09-22 14:54 van-bc!ubc-cs!destroyer!caen!spool.mu.edu!umn.edu!The-Star.honeywell.com!
1992-09-22 12:19 Robert Firth
1992-09-21 21:30 fred j mccall 575-3539
1992-09-21 20:58 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu
1992-09-21 20:37 Michael Feldman
1992-09-21 20:36 Michael Feldman
1992-09-21 20:31 Michael Feldman
1992-09-21 19:23 Robert Firth
1992-09-21 16:51 Doug Smith
1992-09-21 14:43 haven.umd.edu!darwin.sura.net!spool.mu.edu!umn.edu!The-Star.honeywell.com
1992-09-21 11:49 cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd
1992-09-21  8:10 paul goffin
1992-09-21  4:08 cis.ohio-state.edu!news.sei.cmu.edu!lph
1992-09-19  2:28 Michael Feldman
1992-09-18 23:52 Charles H. Sampson
1992-09-18 22:50 Robert I. Eachus
1992-09-18 13:12 crispen
1992-09-17 18:34 Charles H. Sampson
1992-09-17 14:24 kronos.arc.nasa.gov!iscnvx!news
1992-09-16 17:47 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
1992-09-16 15:26 Charles H. Sampson
replies disabled

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