Bindings and Space leaks

Alastair David Reid
04 Jul 2001 18:17:24 -0600

Janis Voigtlaender <> writes:
> 2. In a '93 paper, Jan Sparud describes an implementation technique
> for avoiding space leaks when tuples are returned as function
> result, and the values accessed by pattern matching in bindings. The
> paper says this technique (of shorcircuiting all references via a
> tuple, the first time a tuple element is demanded) has been
> implemented in Chalmers LML/HBC compiler. What about other
> compilers, e.g. GHC?

GHC's garbage collector will "short-circuit" thunks of the form:

  selector@object where the object is in whnf

(If I remember the paper correctly) this is slightly different from
Jan Sparud's technique which did the short-circuiting in the evaluator.

I'm pretty sure Hugs doesn't implement either.  The GC version might
be straightforward to add.

Alastair Reid