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


To me, requiring a declaration for circular constants seems pretty
useless.  I mean, it's not particularly difficult or time-consuming
for the compiler to detect that a constant is circular -- for example,
in the A-Lisp compiler it was trivial to add a check for this while
constants are being traversed and coalesced, and have it signal an
error.  As I see it, the problem is the work required for implementors
to modify the compile-file/load interface not to build constants
bottom-up.  The effort here is the same regardless of whether we
require circular constants to be handled all the time or just in some
cases.  Having a flag or declaration does not reduce the amount of
effort, it just complicates the language unnecessarily.  I personally
would find a simple statement that circular constants must be handled
by compile-file much less objectionable than all of these other
schemes that are being suggested.