comp.lang.ada
 help / color / mirror / Atom feed
From: sampson@cod.nosc.mil  (Charles H. Sampson)
Subject: Re: Using Global Variables
Date: 25 Sep 92 17:50:35 GMT	[thread overview]
Message-ID: <1992Sep25.175035.209@nosc.mil> (raw)

In article <1992Sep21.165108.11129@software.org> smithd@software.org (Doug Smit
h) writes:
->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?

     As an early poster to this thread pointed out, the concept of global
is relative.  Nonetheless, I think it best to reserve the term for its
classical usage: Something is global if it is visible throughout the en-
tire system.  Of course, in Ada nothing is automatically visible other
than the things in package Standard, so we have to bend the classical
usage a little to acknowledge the with clause.  Thus that variable inside
the package is not global.  The term "regional", suggested by a recent
poster, is a good one.

     As that early poster was implying, you have to be careful with
regional data.  If their namescopes become large most of the classical
problems of global data arise.

				Charlie

             reply	other threads:[~1992-09-25 17:50 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-25 17:50 Charles H. Sampson [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: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 18:32 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
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