Questions of clarification:

  1. Are you asking how to tell ASDF to slurp all the data files without listing them explicitly?
  2. What do you mean by "at once"? Do you mean pull them all in a single operation (e.g., by appending them all to a single file and then loading that file)? Or do you just mean "I would like to be able to write a single s-expression to load all these files"?

TBQH, I would be tempted to just do:

ls data/*.lisp | perl -ne 'chomp; print("(:file \"$_\")\n");'

In order to get a set of lines I could include in my system definition (if you hate perl, you could probably use sed and awk; I've never mastered these). I.e., what's so bad about having to list the files explicitly? One could even use a makefile to automate this process. Or, if you wanted to do this purely in CL, I suppose you could write a "meta-ASDF" operation that would generate the ASDF defsystem. That seems like way too much work, though.

On 30 Nov 2025, at 5:20, Marco Antoniotti wrote:

Hello parenthetically unchallenged friends!

Suppose I have a library that is structured as

src/
    code.lisp
    pkg.lisp
    stuff.lisp
data/
    data-file-1.lisp
    data-file-2.lisp
    data-file-3.lisp
    ...
    data-file-3-point-14-godzillion.lisp

Actually, the data folder could be anywhere.
How do I tell ASDF (or similar) to just slurp in all the data files at once?  I know it's doable, but maybe someone knows of a better way.

Thanks

Marco


--
Marco Antoniotti, Professor, Director         tel. +39 - 02 64 48 79 01
DISCo, University of Milan-Bicocca U14 2043   http://dcb.disco.unimib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY

REGAINS: https://regains.disco.unimib.it/