[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Visibility of files loaded with ly:load, location of "local" guile modul
From: |
Urs Liska |
Subject: |
Visibility of files loaded with ly:load, location of "local" guile modules |
Date: |
Wed, 29 Jan 2020 09:58:01 +0100 |
User-agent: |
Evolution 3.34.1-2+b1 |
One final question before I start working on some package code
proposal:
All the basic Scheme files are loaded in lily.scm with
(for-each ly:load init-scheme-files)
What does this do internally? I.e. how is the visibility handled of
definitions/bindings from names in files loaded with ly:load ?
When I manually ly:load a .scm file I can see both variables created
with define and define-public. I have the impression that everything
loaded with ly:load is visible to any .ly file afterwards, is that
correct?
So my approach would be to create a file packages.scm, add it to the
list of auto-loaded files in lily.scm and define in this only what is
to become the public interface of the package mechanism. All internal
code would be loaded from there with (use-modules), or am I missing
something here?
Where would I store Scheme modules which are *not* to be loaded through
ly:load in lily.scm but through (use-modules)?
We *do* have a number of such modules in the scm directory.
(git grep "(scm "
indicates this for the following modules:
* accreg
* clip-region
* coverage
* display-lily
* editor
* framework-eps
* framework-null
* framework-ps
* framework-scm
* framework-svg
* graphviz
* guile-debugger
* lily
* ly-syntax-constructors
* memory-trace
* output-ps
* output-socket
* output-svg
* page
* paper-system
* ps-to-png
* safe-utility-defs
* song
* song-util
* to-xml
So I could simply store my guile modules there too, but wouldn't it
make sense to move them to a new directory to disentangle ly:load from
use-modules files? That would seem in line with moving the .ly files
like bagpipe.ly which are not loaded automatically but only upon
request to packages.
Urs
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Visibility of files loaded with ly:load, location of "local" guile modules,
Urs Liska <=