> What about is the meta data specify file -> library. > > (package > (author "Marc Nieper-Wißkirchen") > (license GPL-v3) > .. > (defines (sort bubblesort quicksort) > (copy deep shallow)) > (libraries ((sort . ((bubblesort . "/lib/sort/bubblesort.scm") > (quicksort . "/lib/sort/quicksort.scm"))) > (copy . ((deep . "/lib/copy/deep.scm") > (shallow . "/lib/copy/shalow.scm"))))) > (cond-expand > ((gambit) > (requires "gitlab.com/r7rs/box")) > ...)) > ...) > > The mapping can look completely different, but it can just map the library > definition into package files. This is a good idea. However, most packages will name their files according to a clear pattern, e.g.: (foo) -> "foo.sld" (bar) -> "bar.sld" (baz) -> "baz.sld" ... If we combine this with rewrite rules (* -> "*.sld") then two ideas once again benefit from each other :)