Hello Guile! Much to my surprise, Guile (v2.2 and 3.0 alike) fail to load a module that has a dot in its base name. Directory names with dots (e.g. ice.10/boot-10.scm => (ice.10 boot-10)) are fine. The attached patch now makes this work: --8<---------------cut here---------------start------------->8--- ;;; foo.bar.scm (display "foo.bar\n") (define-module (foo.bar)) (display "module: foo.bar\n") 16:15:31 janneke@dundal:~/src/guile [env] $ GUILE=meta/guile ./meta/guild compile foo.bar.scm -o foo.bar.go wrote `foo.bar.go' 16:15:46 janneke@dundal:~/src/guile [env] $ ./meta/guile -q -L . -C . -c '(use-modules (foo.bar))' foo.bar module: foo.bar 16:16:03 janneke@dundal:~/src/guile [env] --8<---------------cut here---------------end--------------->8--- The patch applies to 2.2 as 3.0 as well. The code that I removed has some comments about what the code is doing, but I fail to grasp any sort of why. Greetings, janneke