Hi,

I'm currently working on getting Lilypond to use Guile V2 and compiled
Scheme files.

Currently, using V1.8.7, the Lilypond image fires up a lily.scm file
which includes as list of other .scm files.  The initialization code in
the program declares a (lily) module and adjusts %load-path enable the
.scm files to be found and loaded.

(define init-scheme-files
  '("lily-library.scm"
    "file-cache.scm"
    "define-event-classes.scm"
...
)
.
.
.
(for-each ly:load init-scheme-files)

Most of these files assume definitions are going into the default (lily)
module, but some .scm files lower down the list reference definitions
declared in a .scm file above it in the list.

My question is this:
        some of the .scm files in the list make references to definitions in a
.scm file loaded previously;  When we compile this list of .scm files,
will we need to load each .go file produced immediately after compiling
it in order to resolve any external references, or is the byte-compiled
code smart and defers resolving external references until such time as
the .go file itself is loaded?

Cheers,

Ian Hulin


Reply via email to