[asdf-devel] deprecating run-shell-command

Faré fahree at gmail.com
Wed Jan 9 05:49:29 UTC 2013


On Tue, Jan 8, 2013 at 11:09 PM, Daniel Herring <dherring at tentpost.com> wrote:
> On Sun, 6 Jan 2013, Faré wrote:
>
>> I will add a concatenate-all-source-op
>> that recursively descends into all system dependencies,
>> concatenates all sources, and creates the output file asdf.lisp,
>> also including defsystem fallback stubs to make upgrade easier,
>> just like the current asdf defsystem fallback stub.
>>
>> This way, ASDF can enjoy the advantages of both
>> a "large set of small libraries" and a "single-file bootstrap solution".
>> Also, adding new extensions to ASDF will be easier.
>
It's done in branch exploded, which also creates one package per file,
in the style of faslpath and/or quick-build.

I can't merge it to master until I write a variant of defpackage that
will make the thing survive hot upgrade, but it's already a major
cleanup. For the first time ever, ASDF sources are well-organized and
mostly readable — and they are much more correct/robust, too.

> That sounds like it could be a very useful feature in general.  For example,
> it would allow any program to be distributed with its all dependencies in a
> single source file.
>
Yes, with limitations:
1- you mustn't rely on load-time effects of previous files during the
compile-time of your file, unless they've been explicitly wrapped in
an eval-when.
2- all your files must have the same encoding.
3- if you have an around-compile hook, it must apply to all files, and
be already defined in some specially loaded prelude.

Also, I don't currently register fake/fallback systems for transcluded
dependencies.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
If you don't like yourself, you *can't* like other people.
        — Robert Heinlein, "Time Enough For Love"




More information about the asdf-devel mailing list