> Instead of > #(define (anAList) `((aVariable . ,aSymbol))) > you could write: > #(define anAList (lambda () `((aVariable . ,aSymbol))))
Thanks Thomas. I love the simplicity of this example. > #(define anAList '((aVariable . aSymbol))) > aSymbol = { cis' } > { > #(module-ref (current-module) (cdr (assoc 'aVariable anAList))) > } Now, Aaron, that is wizardry. https://www.gnu.org/software/guile/manual/guile.html#index-module_002dref and https://www.gnu.org/software/guile/manual/guile.html#Modules were both a must read for me to understand. Elementary, yet still so critical to understand the "back-end" (whatever that means) of LilyPond. Thank you Aaron for this solution / explanation. Greetings -- Pierre-Luc Gauthier