If using ``--language='' option with `guile' and one of the language source files is newer than the .go file, guile will fail with "no such language". See below. Apparently the file is compiled. I'm guessing this could be an issue a circular dependency.
mwette$ guile --language=javascript ,zz.js mwette$ touch separser.scm mwette$ guile --language=javascript ,zz.js ;;; note: source file /home/mwette/repo/sv/nyacc-modev/examples/nyacc/lang/javascript/separser.scm ;;; newer than compiled /home/mwette/.cache/guile/ccache/2.2-LE-8-3.A/home/mwette/repo/sv/nyacc-modev/examples/nyacc/lang/javascript/separser.scm.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/mwette/repo/sv/nyacc-modev/examples/nyacc/lang/javascript/separser.scm ;;; WARNING: compilation of /home/mwette/repo/sv/nyacc-modev/examples/nyacc/lang/javascript/separser.scm failed: ;;; no such language javascript mwette$ guild compile separser.scm wrote `/home/mwette/.cache/guile/ccache/2.2-LE-8-3.A/home/mwette/repo/sv/nyacc-modev/examples/nyacc/lang/javascript/separser.scm.go' mwette$ guile --language=javascript ,zz.js mwette$