Re: [Scheme-reports] Proposed language for 'eqv?' applied to inexact real numbers
John Cowan 13 Nov 2012 05:36 UTC
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
> RRRS:
>
> 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@ccil.org 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
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports