[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

It would be nice if COMPILE-LOAD-INIT queried you about each module and
each dependency that was going to cause it to be recompiled. eg, if i make
an inconsequential change to a macro package that supports a whole system
(let's say I add a comment somewhere or even change a macro that will not
affect existing code but will allow me to be able to write new things
(upward-compatible extension)), then suddenly the whole system has to be
recompiled. It would be nice if the system told me why a module was going to
be recompiled and offered not to bother ... this is not the same as
selective. i still want files that have to be recompiled to get recompiled.
i just want them to not get recompiled if the only reason that they would
be is the dependency. eg,
 Say MACRO is a module which all the other modules in my system depend on.
 Say FOO and BAR comprise module ALPHA and both have newly written sources.
 Say BAZ and GUNK comprise module BETA and only BAZ has a newly written source.
The interaction would presumably look like:
 MACRO has been recompiled.
  The file GUNK has to be recompiled as a result unless the changes to MACRO
  will not affect its compilation. Should I recompile it anyway? (Y, N, or S) <Help>
    Y = Yes, N = No, S = Source compare MACRO < and MACRO > to see changes made.
  Should I recompile it anyway? (Y, N, or S) N
...etc. If you don't think it's appropriate for COMPILE-LOAD-INIT to do
this, then maybe a COMPILE-LOAD-INIT-QUERY or something. But I think something
must be offered to deal with this problem of having to recompile the system
for no good reason ... 

RICH and DCB mentioned the same problem is hitting them. I doubt many users
of COMPILE-LOAD-INIT haven't been hit with this or if they haven't that they
can avoid it forever ... I'd say it's a pretty important issue. The ideas 
above are just one way of tackling it. I don't care if you do that or something
completely different on the low level; I (we) just need the high-level problem