From bill@amber.ssd.csd.harris.com Wed Aug 19 15:22:52 1992
Received: from travis.csd.harris.com by dkuug.dk via EUnet with SMTP (5.64+/8+bit/IDA-1.2.8)
	id AA10179; Wed, 19 Aug 92 15:22:52 +0200
Received: from amber.ssd.csd.harris.com by travis.csd.harris.com (5.61/harris-5.1)
	id AA28130; Wed, 19 Aug 92 09:12:44 -0400
Received: by amber.ssd.csd.harris.com (5.61/CX/UX-5.0)
	id AA26352; Wed, 19 Aug 92 09:12:31 -0400
Date: Wed, 19 Aug 92 09:12:31 -0400
From: bill@amber.ssd.csd.harris.com (Bill Leonard)
Message-Id: <9208191312.AA26352@amber.ssd.csd.harris.com>
To: JLS@liverpool.ac.uk
Cc: SC22WG5@dkuug.dk
In-Reply-To: Lawrie Schonfelder's message of Wed, 19 Aug 92 12:54:46 BST <9208191236.AA08828@dkuug.dk>
Subject: (SC22WG5.166)     Re: Defect Report
X-Charset: ASCII
X-Char-Esc: 29

> Date:        Wed, 19 Aug 92 12:54:46 BST
> From: Lawrie Schonfelder <JLS@liverpool.ac.uk>

>>Second, it would be a colossal mistake to *mandate* garbage collection in
>>all Fortran implementations.
> We already have. But not all programs will require it. Any program that makes
> heavy use of pointers and dynamic memory allocation, particularly with the
> present initial status fault, will have to leak memory like flywire jug.

This is completely false.  Only programs that use pointers *in a particular
way* will leak memory.  If I just declare a pointer variable or variables
in my program, I can quite easily initialize them myself.  It is only these
pointer variables inside PRIVATE types that have a problem.

Perhaps a medium ground, then, would be to mandate compiler-generated
initialization of pointer variables only if they are components of a
PRIVATE type.  Even better, add some syntax to the POINTER declaration to
tell the compiler whether you want it automatically initialized.

> Real-time programs had better not employ techniques and facilities that also
> require garbage collection. I am well aware of this problem. All that you are
> saying is that different application areas will need to use different
> facilities and different aspects of implementations. I am concerned that one
> such areas needs should not wipe out another which it currently does.

The problem is that the compiler and run-time libraries cannot know what
the application's problem domain is.  Therefore if garbage collection is
mandated, it will be there whether you want it or not.  So what you will
have is exactly what you said, one problem domain's needs will totally wipe
out another's.

Bill Leonard
Harris Computer Systems Division
2101 W. Cypress Creek Road
Fort Lauderdale, FL  33309
bill@ssd.csd.harris.com
---------------------------------------------------------------------------
  Q: How many lawyer jokes are there?
  A: Only three.  The rest are true stories.
---------------------------------------------------------------------------
