[gclist] Name that hypothesis

Fergus Henderson fjh@cs.mu.oz.au
Wed, 4 Dec 1996 13:33:37 +1100 (EST)

Hans Boehm wrote:
> On Dec 3, 12:40pm, Nick Barnes wrote:
> > 	"Most references in a system point backwards in time, i.e. from
> > 	 younger objects to older objects."
> It seems to me that this is actually
> 1) Much stronger than required by a generational collector, and
> 2) False for a significant fraction of nonfunctional programs.

In fact even for some functional programs, with compiler optimizations.
We (the Mercury compiler implementors) are currently working on
"LCMCA" (last call modulo constructor application) optimization.
This optimization introduces

> a) Programs that build lists or trees "front-to-back" or "top-down".

Although not many current functional language implementations do it,
LCMCA optimization has been known about for decades.

Furthermore, the use of monads, unique types, and so forth means
that systems which are purely functional, in a sense that the garbage
collector could make use of, are becoming rarer.

Fergus Henderson <fjh@cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh@         |     -- the last words of T. S. Garp.