David, These are mostly stylistic nit-picks. I'd like the section to state clearly the relationship between Lilypond scoping and the guile module system.
Cheers, Ian http://codereview.appspot.com/160048/diff/13001/13002 File Documentation/contributor/programming-work.itexi (left): http://codereview.appspot.com/160048/diff/13001/13002#oldcode1271 Documentation/contributor/programming-work.itexi:1271: Maintaining this scoping when one .ly file can be included in another Is this paragraph totally irrelevant? It seems to be talking about working around an issue with scopes when one source file is \included in another. http://codereview.appspot.com/160048/diff/13001/13002#oldcode1279 Documentation/contributor/programming-work.itexi:1279: With this architecture, the guile module system is not bypassed: Retain a re-written version of this para before you go on to talk about avoiding memory leaks, maybe something like: "Scoping in Lilypond is layered on the Scheme/Guile module system." http://codereview.appspot.com/160048/diff/13001/13002 File Documentation/contributor/programming-work.itexi (right): http://codereview.appspot.com/160048/diff/13001/13002#newcode1244 Documentation/contributor/programming-work.itexi:1244: The Lilypond language has a concept of scoping, ie you can do "The Lilyond language has a concept of scoping, i.e. you can write" http://codereview.appspot.com/160048/diff/13001/13002#newcode1253 Documentation/contributor/programming-work.itexi:1253: @noindent with @code{\paper}, @code{\midi} and @code{\header} being @noindent. @code{\paper}, @code{\midi} and @code{\header} are http://codereview.appspot.com/160048/diff/13001/13002#newcode1254 Documentation/contributor/programming-work.itexi:1254: nested scope inside the @file{.ly} file-level scope. @w...@code{foo = 1}} "nested scope" --> "scope definitions nested" http://codereview.appspot.com/160048/diff/13001/13002#newcode1257 Documentation/contributor/programming-work.itexi:1257: This implemented using modules, with each scope being an anonymous "This is implemented using modules; each of these scopes is declared as an anonymous Scheme module which imports definitions from the module declared for its parent scope." http://codereview.appspot.com/160048/diff/13001/13002#newcode1258 Documentation/contributor/programming-work.itexi:1258: module that imports its enclosing scope's module. See comment for above line. http://codereview.appspot.com/160048/diff/13001/13002#newcode1261 Documentation/contributor/programming-work.itexi:1261: @code{lily} module, outside the @file{.ly} level. In the case of Lilypond's core, loaded from various @file{.scm} files, is usually defined by statements in the @code{lily} module, independently of the @file{.ly} level (top-level). In the following example http://codereview.appspot.com/160048/diff/13001/13002#newcode1268 Documentation/contributor/programming-work.itexi:1268: we want to reuse the built-in definitions, without changes effected in Here we want to re-use the built-in definitions without changes written in http://codereview.appspot.com/160048/diff/13001/13002#newcode1272 Documentation/contributor/programming-work.itexi:1272: memory leaks that could occur when running multiple files. All "memory leaks which could occur when compiling more than one file."<new line> "All" http://codereview.appspot.com/160048 _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel