[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Proposed language for 'eqv?' applied to inexact real numbers

Mark H Weaver scripsit:

> Anyway, there is a longstanding precedent for this "implementation can
> prove" language in section 1.1.  This text has not changed since the
>    All objects created in the course of a Scheme computation, including
>    procedures and continuations, have unlimited extent. No Scheme object
>    is ever destroyed. The reason that implementations of Scheme do not
>    (usually!) run out of storage is that they are permitted to reclaim
>    the storage occupied by an object if they can prove that the object
>    cannot possibly matter to any future computation.
> You could just as easily say:
>    What is the operational definition of "can prove"?  I say my
>    implementation can't prove anything about whether an object matters
>    to future computations, and then no memory will ever be freed.

That's true, and indeed an implementation without GC is a conforming
implementation.  Early Lisp Machines worked that way: when you ran out
of memory, you had to reboot, and memory-churning applications had to
checkpoint their state to disk files.

John Cowan    cowan@x    http://ccil.org/~cowan
        Sound change operates regularly to produce irregularities;
        analogy operates irregularly to produce regularities.
                --E.H. Sturtevant, ca. 1945, probably at Yale

Scheme-reports mailing list