Richard M Kreuter <firstname.lastname@example.org> wrote:
| SBCL at least has a peculiar mechanism for resolving this, which will
| signal an error if there's both a compiled file and a source file and
| the source is newer than the compiled one, on the assumption that the
| fasl file is out of date. So it can sometimes happen that a stray
| edit or file system manipulation can mess things up.
I like the ":IF-SOURCE-NEWER :COMPILE" extension to LOAD that's
in CMUCL. My own LOAD* wraps a loop around this that compares
the modify times of both the source and compiled versions and
LOADs only if at least one is more recent than a saved timestamp
of the last time LOAD* was run. So you edit one or more of the
current set of LOAD* files, then say "(LOAD*)", and just the
"newer" ones get recompiled/reloaded.
 Convenience function for use only in exploratory programming
in the REPL. I use ASDF for any productin code.
 It was a personal design decision that LOAD* would recompile
source files only if *some* compiled version already existed.
That way LOAD* can be used on a mix of interpreted and compiled
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607