On Sun, 2026-02-22 at 19:22 +0000, Werner LEMBERG wrote: > I have a problem with understanding Guile's scoping rules. Take, for > example, function `accidental->markup`. This is defined in file > `chord-name.scm` as > > ``` > (define (accidental->markup alteration) > ...) > ``` > > However, the function is also used in other files, for example, in > `chord-ignatzek-names.scm`. Why does this work? I always thought > that `define` sets up a function that is local to a file, but this > seems not to be case. > > My working hypothesis is that those two files are both loaded in > `lily.scm` (via the `init-scheme-files` list), which means that they > are actually part of the 'lily' module – a function defined with > `define` in one of the loaded files of this module is thus visible to > all other loaded files (but not outside). > > Is this interpretation correct?
Yes, that is also my understanding.
signature.asc
Description: This is a digitally signed message part
