[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.)