[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Recursive COMPILE-FILE?
Date: Fri, 9 Jan 1987 12:58 EST
From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>
Is a Common Lisp compiler required to correctly handle forms such as:
(eval-when (compile)
(compile-file "utils"))
I don't think that there's anything in the current spec that requires
COMPILE-FILE to be re-entrant,
There's nothing in the current spec that requires
FUNCALL, or MAP, or MAPHASH to be re-entrant, either.
I don't think the default assumption should be that
things only work in specific documented cases. I
think it should be assumed that they work unless
there are specific documented exceptions.
and at least a couple of implementations
would have a hard time doing this because of the way they store the
compilation environment.
I can't believe it would be hard to fix any such
broken implementations. In the worst case I can
imagine, you'd have to do a global query-replace
on GET to use a COMPILER-TABLE-GET macro that
expanded into a GETHASH or GETF as appropriate.
You'd probably get a big paging-performance
improvment in the process.