Copyright (C) 2000-2012 |
GNU Info (slib.info)Coding GuidelinesCoding Guidelines ================= All library packages are written in IEEE P1178 Scheme and assume that a configuration file and `require.scm' package have already been loaded. Other versions of Scheme can be supported in library packages as well by using, for example, `(provided? 'rev3-report)' or `(require 'rev3-report)' (Note: Require). The module name and `:' should prefix each symbol defined in the package. Definitions for external use should then be exported by having `(define foo module-name:foo)'. Code submitted for inclusion in SLIB should not duplicate routines already in SLIB files. Use `require' to force those library routines to be used by your package. Care should be taken that there are no circularities in the `require's and `load's between the library packages. Documentation should be provided in Emacs Texinfo format if possible, But documentation must be provided. Your package will be released sooner with SLIB if you send me a file which tests your code. Please run this test _before_ you send me the code! Modifications ------------- Please document your changes. A line or two for `ChangeLog' is sufficient for simple fixes or extensions. Look at the format of `ChangeLog' to see what information is desired. Please send me `diff' files from the latest SLIB distribution (remember to send `diff's of `slib.texi' and `ChangeLog'). This makes for less email traffic and makes it easier for me to integrate when more than one person is changing a file (this happens a lot with `slib.texi' and `*.init' files). If someone else wrote a package you want to significantly modify, please try to contact the author, who may be working on a new version. This will insure against wasting effort on obsolete versions. Please _do not_ reformat the source code with your favorite beautifier, make 10 fixes, and send me the resulting source code. I do not have the time to fish through 10000 diffs to find your 10 real fixes. automatically generated by info2www version 1.2.2.9 |