Anders J. Munch wrote: > jayessay wrote: > > Please note: GC is not part of CL's definition. It is likely not part > > of any Lisp's definition (for reasons that should be obvious), and for > > the same reasons likely not part of any language's definition. > > Really? So how do you write a portable program in CL, that is to run > for unbounded lengths of time?
You can't. The thing about the spec not defining GC is almost a bit of humour. No-one would use an implementation with no GC. The issue with specifying it is: How would you do it? The memory used by a program is an aspect of the language implementation and the system the program is running on, so how can it be defined in a useful way? You could say for example "Storage allocated for an object is released when the object is no longer visible and memory usage is high". But how do you define how high memory usage should be? You could say when memory is almost exhausted, even that is difficult to define. Then you could have the situation where someone creates a lisp compiler than emits FPGA netlists, how do you check something like this? None of this would be in the spirit of the spec, which doesn't even define memory AFAIK. The spec deals entirely in matters of the language and it's appearance to the programmer. For what it's worth I think the C spec is the same, and says nothing about actual memory usage. -- http://mail.python.org/mailman/listinfo/python-list