[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
eval'd macros (the other point of view)
Date: Thu, 6 Feb 1986 00:18 EST
From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
In most implementations that I have seen, Compile-File lists at the end
of the file, as a sort of warning, any functions that were used but that
are not known to the compiler. A function generally becomes known
either by being present in the Lisp doing the compiling, by being
defined in a previously-compiled file, or by being defined somewhere in
the current file. Dumping this list is done at the end of a file just
so that the order of definitions within a file doesn't cause a lot of
spurious warnigns to appear. Co-recursive functions can be defined with
no problem, etc.
I don't much care whether Compile warns me about undefined functions or
not. Since Compile-File waits till the end of the file to complain
about unknown functions and special variables, it seems consistent to
keep quiet about this when compiling functions one-by-one.
If there were a compile-module function (roughly (make-system 'foo :compile))
in our system it should delay warnings until all the files have been
processed. Large and/or complex systems often make calls across files.
(We could debate the modularity of that, but let's not.)