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