$ guile --version guile (GNU Guile) 2.0.11 $ config.guess x86_64-unknown-linux-gnu $ rpm -qa | grep guile compat-guile18-1.8.8-7.fc20.x86_64 guile-debuginfo-2.0.11-1.fc20.x86_64 guile-2.0.11-1.fc20.x86_64 guile-devel-2.0.11-1.fc20.x86_64 These steps illustrate the issue: 1. Download the attached file and save it as $HOME/guile/test.scm Note: this is just an example file printing one line to indicate is has successfully been called. Any other scm file will do to illustrate this bug. 2. Run these commands: $ mkdir -p $HOME/guile/ccache $ cd $HOME/guile/ccache $ guild compile -o test.go ../test.scm $ guild compile -o test.scm.go ../test.scm This will generate two compiled versions of the test file, each with a different extension. Now run these commands and observe what happens: $ cd $HOME/guile $ GUILE_LOAD_PATH=$HOME/guile \ GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \ guile -c '(load-from-path "test")' => This command will use the file $HOME/guile/ccache/test.go. That is, no auto-compilation is triggered. $ GUILE_LOAD_PATH=$HOME/guile \ GUILE_LOAD_COMPILED_PATH=$HOME/guile/ccache \ guile -c '(load-from-path "test.scm")' => This command will *not* use either of $HOME/guile/ccache/test.go or $HOME/guile/ccache/test.scm.go. Instead it will autocompile test.scm into /test.scm.go and use that one. So there is no way to have the second command use your self-compiled files. From Andy Wingo's comments on irc, it is expected that the second case would have used the self-compiled $HOME/guile/ccache/test.scm.go. I'm fine with that although using $HOME/guile/ccache/test.go would have made more sense from an outsider's point of view. At least it should be possible to make load-from-path use a self-compiled .go file regardless of whether the argument ends in .scm or not. If more information is needed, feel free to ask. Regards, Geert