Guile's auto compile fails to recompile when included source files change.
For example, I have two source files -- foo.scm and bar.scm. foo.scm includes bar.scm using `include'. When I run foo.scm for the first time, it is auto compiled and run correctly. But, if I modify bar.scm and run foo.scm again, foo.scm is not rebuilt and the old version is run. Here is a concrete example of what I mean. $ cat foo.scm (include "bar.scm") $ cat bar.scm (display "old") (newline) $ guile -s foo.scm ;;; note: source file /tmp/test/foo.scm ;;; newer than compiled /home/arun/.cache/guile/ccache/2.2-LE-8-3.A/tmp/test/foo.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /tmp/test/foo.scm ;;; compiled /home/arun/.cache/guile/ccache/2.2-LE-8-3.A/tmp/test/foo.scm.go old $ sed -i 's/old/new/' bar.scm $ cat bar.scm (display "new") (newline) $ guile -s foo.scm old In the last step, guile still printed "old" without recompiling. It should have recompiled and printed "new".