[plt-dev] Re: problem with optimistic compilation

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Aug 13 07:04:08 EDT 2009

At Wed, 12 Aug 2009 23:01:06 -0400, Eli Barzilay wrote:
> On Aug 12, Robby Findler wrote:
> > On Wed, Aug 12, 2009 at 8:33 PM, Eli Barzilay<eli at barzilay.org> wrote:
> > > On Aug 12, Robby Findler wrote:
> > >> On Wed, Aug 12, 2009 at 4:45 PM, Eli Barzilay<eli at barzilay.org> wrote:
> > >> > On Aug 12, Robby Findler wrote:
> > >> >> Okay, after some more thought and offline consultation, I've
> > >> >> changed the way DrScheme works wrt to saving compiled .zo
> > >> >> files. It now saves its compiled files in compiled/drscheme/ (and
> > >> >> compiled/drscheme/errortrace), meaning that the files will be
> > >> >> ignored when mzscheme runs. It also only looks in those
> > >> >> directories when it is in compiled-file-generation mode.
> > >> >
> > >> > Won't this have the same problem with multiple versions of
> > >> > drscheme using the same file?
> > >>
> > >> Not unless there is a bug in CM; it should just recompile files when
> > >> they are out of date.
> > >
> > > I'm talking about:
> > >
> > >  * Create a file
> > >  * Run in drscheme, creating a compiled version
> > >  * Update PLT to a newer version
> > >  * Run the file again -- so the compiled file is still newer, but has
> > >    the wrong version.
> > >
> > > [...]
> 
> I don't know what CM is doing, but I don't see any reason for it to
> remove a newer file when the version doesn't match.

See `compiler/cm'. The version number of a compiled file is recorded in
".dep", and if it doesn't match (or if the ".dep" file doesn't exist),
then the file is recompiled.



Posted on the dev mailing list.