In my endeavors to learn Scheme I have noticed a number of function calls in Lilypond which are not covered in non-Guile documentation. One example is define-public but there are others (the later appears to be a convenience notation for a "regular" Scheme construct). I am assuming that these are created from other Scheme scripts. I know in Perl that one can have non-existent functions auto-loaded during run time and then parsed and inserted into the symbol table for later use. Is that what Guile is doing?
Bottom line: Does it matter which Scheme interpreter and/or documentation I choose. Any recommendations outside of Guile? (I am having trouble getting it to work on Windows).