For what it is worth, the Kawa search algorithm for library sources is: https://www.gnu.org/software/kawa/Importing.html#Searching-for-source-files The default when resolving for (import (foo bar)) is to look for "foo/bar" with a default extension, which is ".scm" - hence "foo/bar.scm". This is relative to the current path. Kawa supports ".sld" files and the define-library form. However, the Kawa-native style is to treat a source file as an implicit library (or module as I also call it): A library is just a file with definitions along with 'export' and 'import' forms. Much less file-clutter, in my opinion. This turns out to be close to what they do in Rust, which I've been spending some time learning-by-hacking. -- --Per Bothner xxxxxx@bothner.com http://per.bothner.com/