Re: One last chapter to review! Last chance! One-day only!

From: Marcin 'Qrczak' Kowalczyk (qrczak_at_knm.org.pl)
Date: 03/17/05


Date: Thu, 17 Mar 2005 22:37:56 +0100

Joerg Hoehle <hoehle@users.sourceforge.net> writes:

> But that'S the curse of any defsystem/Makefile
> How could you escape it?
>
> How can you tell to the system
>
> a) "listen, I've made this change to the file, but be assured that
> it's only a local change, you need not recompile all and
> everything"?
> b) "ok, recompile stuff in this component, but it's internal only so
> there's no need to recompile other entities"
> c) "well recompile and reload really all dependents"

It can be solved by a Lisp compiler: it should produce an "interface"
file which includes the information derived from a module which
influences the compilation of other modules which depend on it. Other
modules don't load a module directly but read its interface file.

The compiler should ensure that the file is not physically rewritten
if its contents don't change after recompilation.

Some compilers of other languages do a similar thing, e.g. Glasgow
Haskell Compiler. And in C and C++ people write the interface files by
hand.

This doesn't distingiush your b) from c), but it I think it's good
enough in practice.

The only caveat with marrying it with 'make' is that after some
changes 'make' might keep trivially "recompiling" a module (executing
a null command). This adds a minimal overhead, and prevents a message
that nothing had to be remade.

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/


Relevant Pages

  • Re: .NET Compiler optimization and component updates
    ... > This is a general question regarding how, and if, compiler optimization ... > techniques affect the general concept of being able to update a component of ... > an application without requiring a recompile of client code. ... > this in someway break the concept of being able to modify and redeploy server ...
    (microsoft.public.dotnet.general)
  • Re: Fw: New Cobol Releases (was FASTSRT)
    ... It is worthwhile to recompile programs that run though I advocate doing so ... code doesn't mean that the latest compiler will not yield a much more ... For IBM-MAIN subscribe / signoff / archive access instructions, ... send email to listserv@xxxxxxxxxxx with the message: GET IBM-MAIN INFO ...
    (bit.listserv.ibm-main)
  • Re: Fw: New Cobol Releases (was FASTSRT)
    ... It is worthwhile to recompile programs that run though I advocate doing so ... code doesn't mean that the latest compiler will not yield a much more ... For IBM-MAIN subscribe / signoff / archive access instructions, ... send email to listserv@xxxxxxxxxxx with the message: GET IBM-MAIN INFO ...
    (bit.listserv.ibm-main)
  • Re: .NET Compiler optimization and component updates
    ... >> an application without requiring a recompile of client code. ... >> I expect the compiler inlines the constant values for optimization, ... >> this in someway break the concept of being able to modify and redeploy server ...
    (microsoft.public.dotnet.general)