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

Re: GC, exit-to-system

The problem is that GC works so differently from one implementation to
the next.  If someone would try to make an explicit proposal for the
addition of a GC function, I think this would become clear.  Exactly
what is the new proposed GC function supposed to do?  Exactly what are
the criteria by which I could know whether my Common Lisp implementation
was in conformance with the spec regarding GC, or not?  Can a spec be
written that is specific enough that a program could usefully depend on
the GC function in any way, without being so specific that some
implementations could not conform to it reasonably?  I don't think so.

In order for the Common Lisp specification to include a GC function, the
Common Lisp specification must include a concept of garbage collection:
what it means, what it is defined to do and not do, etc.  The function
isn't really the hard part; the concept is the hard part.

I feel the same way about the BYE function.  Common Lisp would need a
concept of "returning to the operating system" or something like that.
Some implementations do not have any such thing.  It is out of the scope
of Common Lisp.

The only way I can imagine that such functions would be acceptable would
be if their definition said something like "In some implementations,
this function is allowed to do absolutely nothing".  They would
therefore have to be considered part of a "user interface" rather than
part of the language, since no portable program could sensibly call
them.  I think we should try to confine ourselves to the language
business.  We have more than enough work ahead of us in that department!