From: Stuart Ira Glaser
Subject: Tips for developing with asdf
Date: 
Message-ID: <Pine.LNX.4.63.0605230137430.17023@hive.cec.wustl.edu>
Hi all,

I'm currently tinkering with a package that uses asdf.  Apparently asdf 
has no support for only compiling changed files, as each time I 
asdf:operate, it recompiles the whole package.

I have only worked with small projects before.  My usual development cycle 
is to modify a file and then LOAD it (vi user, so no slime).  Of course I 
use the REPL a bit too.

What's the process that I should be using?

Thanks,
-Stu Glaser

From: Dr. John A.R. Williams
Subject: Re: Tips for developing with asdf
Date: 
Message-ID: <87mzd944ki.fsf@mailhub.aston.ac.uk>
Stuart,

asdf will just compile the file and all dependant files - not the
whole package. This is necessary since the changed file may contain
macros etc which modify the code in other dependant files. You do need
to separately load the changes with asdf after compilation.

>>>>> "Stuart" == Stuart Ira Glaser <····@cec.wustl.edu> writes:

    Stuart> Hi all, I'm currently tinkering with a package that uses
    Stuart> asdf.  Apparently asdf has no support for only compiling
    Stuart> changed files, as each time I asdf:operate, it recompiles
    Stuart> the whole package.

    Stuart> I have only worked with small projects before.  My usual
    Stuart> development cycle is to modify a file and then LOAD it (vi
    Stuart> user, so no slime).  Of course I use the REPL a bit too.

    Stuart> What's the process that I should be using?

    Stuart> Thanks, -Stu Glaser

-- 
Dr. John A.R. Williams 
Electronic Engineering, Aston University, Birmingham B4 7ET
Tel: 0121 359 3621 x 4989      Fax: 0121 359 0156
www: http://www.ee.aston.ac.uk/staff/willijar 
PGP key: 6606795A185C384C
From: Peter Seibel
Subject: Re: Tips for developing with asdf
Date: 
Message-ID: <m2lkssstjp.fsf@gigamonkeys.com>
··············@aston.ac.uk (Dr. John A.R. Williams) writes:

> Stuart,
>
> asdf will just compile the file and all dependant files - not the
> whole package. This is necessary since the changed file may contain
> macros etc which modify the code in other dependant files. You do need
> to separately load the changes with asdf after compilation.

If you use (asdf:oos 'asdf:load-op <system-name>) it should compile
all modified files and any files that depend on them and (re)load
them. You can get a similar effect in SLIME via ,load-system.

-Peter

-- 
Peter Seibel           * ·····@gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/
From: Ken Tilton
Subject: Re: Tips for developing with asdf
Date: 
Message-ID: <4473322B.5020201@gmail.com>
[to OP and list as well]

Stuart Ira Glaser wrote:
> Hi all,
> 
> I'm currently tinkering with a package that uses asdf.  Apparently asdf 
> has no support for only compiling changed files, as each time I 
> asdf:operate, it recompiles the whole package.

:serial t

With that in place, a change to a file early in the list makes 
everything after it recompile.

I do not like ASDF, nor do I use it, so :serial t is a big hammer I use 
to avoid working out all the actual dependencies bewteen files so I can 
share my stuff with people not lucky enough to use AllegroCL.

Another theory is that you might have found a build command of mine with 
":force t" in it. Again, my way of dealing with ASDF. If so, lose that bit.


kenny


-- 
Cells: http://common-lisp.net/project/cells/

"Have you ever been in a relationship?"
    Attorney for Mary Winkler, confessed killer of her
    minister husband, when asked if the couple had
    marital problems.
From: Ken Tilton
Subject: Re: Tips for developing with asdf
Date: 
Message-ID: <44734142.8020207@gmail.com>
Stuart Ira Glaser wrote:
> Hi all,
> 
> I'm currently tinkering with a package that uses asdf.  Apparently asdf 
> has no support for only compiling changed files, as each time I 
> asdf:operate, it recompiles the whole package.

Just saw my post which began inscrutably:

"     :serial t


etc"

I lost some hand-to-hand fighting with Google mail over a cut and paste. 
That was supposed to say:

"If you are using one of my packages, such as Cells, look for this line 
just before the long list of components:

     :serial t

etc"

kenny