How would I get a list of Common Lisp source files from a system

Christian Schafmeister chris.schaf at
Sun Mar 22 03:09:18 UTC 2015

Sorry about that.   I guess I don’t need to go into all of the detail.   

I need a list of every source file that is built when I say (asdf:load-system :clasp-cleavir).
I need the source files from every system :clasp-cleavir recursively depends on.  I need them all in order of how they are built to build the :clasp-cleavir system.

I tried this recipe but it only gives me the source files in the :clasp-cleavir system.

(mapcar 'asdf:component-pathname
     (asdf::required-components :clasp-cleavir :keep-component 'asdf:cl-source-file))



On Mar 17, 2015, at 10:06 AM, Christian Schafmeister <chris.schaf at> wrote:

> Thanks Fare,
> I’m integrating a new Common Lisp compiler front end into Clasp from Robert Strandh’s (beach) SICL project called Cleavir.  Once I have it integrated I’ll have a performant Common Lisp implementation that can compile and run everything fast, including ASDF.
> Currently I only have my bootstrapping compiler - which generates relatively slow code (>100x slower than SBCL).
> I need to integrate Cleavir into my build system. My build system is just a long list of files that need to be COMPILE-FILEd and then linked together into a monolithic image.
> Robert uses ASDF systems in his code and I’ve been using them to load and compile Cleavir as a collection of add-on systems to Clasp while I’ve been integrating Cleavir.
> Clasp bootstraps with an interpreter (very slow) which compiles a bootstrapping compiler (faster but still slow).  I will 
> On Mar 16, 2015, at 11:43 PM, Faré <fahree at> wrote:
>> On Mon, Mar 16, 2015 at 10:34 PM, Christian Schafmeister
>> <chris.schaf at> wrote:
>>> Hi there,
>>> I’d like to get an ordered list of source files for a system that I would normally load with (asdf:load-system :cleavir)
>>> I need this because I’d like to compile the Cleavir source code (many interdependent systems) without having to compile and load ASDF.
>>> Then I could compile ASDF a lot faster and users would load it.
>> If you know they are all lisp files, you can try this recipe, copied
>> from the asdf/
>> (mapcar 'asdf:component-pathname
>>     (asdf::required-components :cleavir :keep-component 'asdf:cl-source-file))
>> I don't understand how that helps you compile ASDF faster, but here you go.
>> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
>> Evolution competitively selects stable cooperative patterns.

More information about the asdf-devel mailing list